English 中文(简体)
怎样才能获得数据检索一栏的正文
原标题:How do i get the ordinal of a column in a DataReader

如何确定数据检索结果中是否有一栏?

i 审判:

int columnOrdinal = reader.GetOrdinal("LastName");
columnExists = (columnOrdinal < 0);

GetOrdinal 在一栏不存在时就成为例外。 我的情况并非例外。 恰恰相反。 它带有怀疑。


<>说明: 与我的问题无关,但real 原因一是想知道一栏是否存在,因为一栏是想获得ordinal status,而一栏没有出现例外:

int columnOrdinal = reader.GetOrdinal("Lastname");

<>说明: 与我的问题无关,但real。 理由一是要知道是否有一栏,因为我想知道该栏是否包含:

itIsNull = reader.IsDBNull(reader.GetOrdinal("Lastname"));

遗憾的是,IsDBNull仅限量,GetOrdinal则有例外。 • 离开:

if (ColumnExists(reader, "Lastname"))
{
   itIsNull = reader.IsDBNull(reader.GetOrdinal("Lastname"));
}
else
   itIsNull = false;

<>说明: 与我的问题无关,但想要知道一栏是否存在的真正原因是,有时该栏不会出现在规定的结果中,而不想扔一个例外处理数据库的结果,因为它并非例外。

最佳回答

由于IDataReader没有发现多少帮助,你可以做的工作受到限制。 采用对类似问题的答复中所示的排位

缩略语

您可以在第一行工作后,建立一个简单的字典,用星号作为价值观(或如果你不关心其基本价值的话,则以哈希斯语为主)。 然后,你只能使用专栏。 ContainsKey(“LastName”)是你的试验。 你只能一劳永逸地建设字典,因为第一行会碰到,随后的所有行将迅速。

但是,与数据库时间相比,为了诚实起见,使用其他中途q缩的解决办法所消耗的时间可能微不足道。

Edit: Additional potential here: 查询数据读取器中是否有一栏

问题回答

暂无回答




相关问题
ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...

Synchronising SQL database through ADO.Net

The problem that i m having is how can i synchronise my datasets in my VS 2008 project to any changes in the database. As you know we read data from the db into the dataset which is disconnected, now ...

ADO.NET Data Services - Uploading files

I am trying to write REST web service through which our clients can upload a file on our file server. IS there an example or any useful links which I can refer for any guidance? I haven t seen many ...

How can I know if such value exists in database? (ADO.NET)

For example, I have a table, and there is a column named Tags . I want to know if value programming exists in this column. How can I do this in ADO.NET? I did this: OleDbCommand cmd = new ...

热门标签