0
如果在SqlDataReader
中不存在,則必須檢查列。我嘗試使用reader.IsDBNull
和reader.GetOrdinal
,但仍出現「索引超出範圍」錯誤。如果在SqlDataReader中不存在,請檢查列
如果在SqlDataReader
中不存在,則必須檢查列。我嘗試使用reader.IsDBNull
和reader.GetOrdinal
,但仍出現「索引超出範圍」錯誤。如果在SqlDataReader中不存在,請檢查列
使用這種方法
public static class DataRecordExtensions
{
public static bool HasColumn(this IDataRecord dr, string columnName)
{
for (int i=0; i < dr.FieldCount; i++)
{
if (dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase))
return true;
}
return false;
}
}
試試這個
public static bool HasColumn(DbDataReader Reader, string ColumnName) {
foreach (DataRow row in Reader.GetSchemaTable().Rows) {
if (row["ColumnName"].ToString() == ColumnName)
return true;
} //Still here? Column not found.
return false;
}
我已經使用'GetName'但仍得到相同的錯誤。 – user3106445