如何解决.NET-如何从数据集中检索特定项目?
| 我有以下代码连接到数据库并将数据存储到数据集中。 我现在需要做的是从数据集中获得一个值(实际上,第一行第4列和第5列有两个)OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings[\"ConnectionString2\"].ConnectionString;
DataSet ds = new DataSet();
OdbcDataAdapter da = new OdbcDataAdapter(\"SELECT * FROM MTD_FIGURE_VIEW1\",conn);
da.Fill(ds)
因此,我需要获取两个特定的项目并将其存储到ints中,伪代码为
int var1 = ds.row1.column4
int var2 = ds.row1.column5
关于如何执行此操作的任何想法?
另外,是否有人也可以对数据表有所了解,因为这可能与我要执行的操作有关。
解决方法
你可以喜欢...
如果您想使用ѭ2access访问
Int32 First = Convert.ToInt32(ds.Tables[0].Rows[0][\"column4Name\"].ToString());
Int32 Second = Convert.ToInt32(ds.Tables[0].Rows[0][\"column5Name\"].ToString());
或者,如果您想使用Index
进行访问
Int32 First = Convert.ToInt32(ds.Tables[0].Rows[0][4].ToString());
Int32 Second = Convert.ToInt32(ds.Tables[0].Rows[0][5].ToString());
, DataSet对象具有一个Tables数组。如果知道所需的表,它将有一个Row数组,每个对象都有一个ItemArray数组。在您的情况下,代码很可能是
int var1 = int.Parse(ds.Tables[0].Rows[0].ItemArray[4].ToString());
等等。这将在第一行中为您提供第四项。您也可以使用Columns而不是ItemArray并将列名指定为字符串,而不用记住它的索引。如果表结构发生更改,则可以更轻松地跟上该方法。所以那是
int var1 = int.Parse(ds.Tables[0].Rows[0][\"MyColumnName\"].ToString());
, 我更喜欢使用这样的东西:
int? var1 = ds.Tables[0].Rows[0].Field<int?>(\"ColumnName\");
要么
int? var1 = ds.Tables[0].Rows[0].Field<int?>(3); //column index
, int var1 = int.Parse(ds.Tables[0].Rows[0][3].ToString());
int var2 = int.Parse(ds.Tables[0].Rows[0][4].ToString());
, int intVar = (int)ds.Tables[0].Rows[0][n]; // n = column index
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。