关于SqlDataAdapter.Fill()的用法一问
好运 2003-08-21 10:14:08 我的代码:
private void BindOrders()
{
try
{
DataTable Orders=new DataTable("Orders");
DataColumn ID = new DataColumn("ID");
DataColumn OrderID = new DataColumn("OrderID");
DataColumn StyleID = new DataColumn("StyleID");
DataColumn ColorID = new DataColumn("ColorID");
DataColumn SizeID = new DataColumn("SizeID");
DataColumn PlanQty = new DataColumn("PlanQty");
DataColumn ConsignDate = new DataColumn("ConsignDate");
Orders.Columns.Add(ID);
Orders.Columns.Add(OrderID);
Orders.Columns.Add(StyleID);
Orders.Columns.Add(ColorID);
Orders.Columns.Add(SizeID);
Orders.Columns.Add(PlanQty);
Orders.Columns.Add(ConsignDate);
myDataSet.Tables.Add(Orders);
Orders.RowChanged +=new DataRowChangeEventHandler( Row_Changed );
string strSql =@"exec D_Proc_GetOrders";
SqlDataAdapter sqlAdap=new SqlDataAdapter(strSql,frmPortal.m_DataManage.getConnection());
//sqlAdap.Fill(myDataSet);
sqlAdap.Fill(myDataSet,"Orders");
this.dgOrders.DataSource =myDataSet.Tables["Orders"];
this.dgOrders.SetDataBinding(myDataSet,"Orders");
}
catch(Exception ex)
{
throw ex;
}
},我的存储过程确实返回了数据(我直接邦订的情况下,因为要处理DataGrid 的RowChanged()事件,所以该用这种写法),但为什么sqlAdap.Fill(myDataSet,"Orders");出错了,异常如下: Message "Specified argument was out of the range of valid values.
Parameter name: rowIndex" string
用sqlAdap.Fill(myDataSet);结果没有数据,为什么?
我的目的:要在DataGrid的RowChanged的时候处理一些数据,所以改用邦订DataTable,处理DataTable_RowChanged()事件,又没有其他的方法?