我首先在我的项目名称 recvd.xsd
中手动创建了一个 DataSet
并具有相应的 recvd.xss
。在我的按钮点击事件中,我完成了以下编码。
try
{
DataSet recvd_REPORT = new DataSet();
DataTable REPORT = new DataTable();
String dd_webCofig = ConfigurationManager.ConnectionStrings["server2"].ConnectionString;
OdbcConnection ddlistconn = new OdbcConnection(dd_webCofig);
ddlistconn.Open();
REPORT = recvd_REPORT.Tables["REPORT"];
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = typeof(System.Int32);
myDataColumn.ColumnName = "RECEIVED";
myDataColumn.ReadOnly = false;
myDataColumn.Unique = false;
// Add the Column to the DataColumnCollection.
REPORT.Columns.Add(myDataColumn);
string query = "SELECT case_no as \"RECEIVED\" from dcpanaji.Civil_t where dt_regis > '" + txtStartDate.Text + "' AND dt_regis < '" + txtEndDate.Text + "' AND court_no = " + DropDownList1.SelectedItem + "";
Response.Write(query);
OdbcCommand cmd = new OdbcCommand(query, ddlistconn);
OdbcDataReader loginMyReader = cmd.ExecuteReader();
OdbcDataAdapter adptr = new OdbcDataAdapter(query, ddlistconn);
adptr.Fill(REPORT);
ddlistconn.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
我得到的错误是
Object reference not set to an instance of an object.
如果我从我的 SQL 查询中删除 as\"RECEIVED\"
并简单地执行我的 SQL 查询,那么我的查询结果如下(因用户输入而异)
200200000452011
......,n个12位数字。
请帮助我消除关于为什么我无法绑定(bind)到 DataTable 的错误。
我在执行 Response.Write(query);
之前收到错误,为什么会出现这个问题?
我删除了 try catch block ,现在我得到了错误
最佳答案
尝试
SELECT case_no as `RECEIVED` ...
或者只是
SELECT case_no as RECEIVED ...
无论如何,正确的 DataSet 填充代码应该如下所示:
DataSet ds = new DataSet();
using (OdbcConnection connection = new OdbcConnection(connectionString))
using (OdbcCommand command = new OdbcCommand(sqlQuery, connection)
using (OdbcDataAdapter adapter = new OdbcDataAdapter(command)
{
adapter.Fill(ds);
}
关于c# - 使用数据集的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069482/