【问题标题】:How do I use DataSet instead of DataReader如何使用 DataSet 而不是 DataReader
【发布时间】:2014-07-21 15:52:04
【问题描述】:
dconnetion = New OdbcConnection(lsconnectionstring)
        dconnetion.Open()
        mssql = "select cust_id,cust_name,cust_address,cust_contact_no from cust_details where cust_id in (select cust_id from cust_details)"
        cmd.Connection = dconnetion
        cmd.CommandText = mssql
        cmd.CommandType = CommandType.Text
        dr = cmd.ExecuteReader

我使用此语句通过 DataReader 从数据库中读取数据。

问题是当我使用 DataSet 而不是 DataReader 时,查询会是什么?

【问题讨论】:

  • 查询不会有任何变化,您需要使用数据适配器并填充数据集,而不是读取数据读取器

标签: asp.net


【解决方案1】:

对相同的查询使用DataAdapter.Fill() 方法。

dconnetion = new OdbcConnection(lsconnectionstring);
//dconnetion.Open()
mssql = "select cust_id,cust_name,cust_address,cust_contact_no from cust_details where cust_id in (select cust_id from cust_details)";
cmd.Connection = dconnetion;
cmd.CommandText = mssql;
cmd.CommandType = CommandType.Text;

using (OdbcDataAdapter da = new OdbcDataAdapter(cmd)) 
{
   DataSet ds = new DataSet();
   dconnetion.Open();
   da.Fill(ds);
   dconnetion.Close(); 
}

【讨论】: