.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
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...