public DataSet CreateCmdsAndUpdate(DataSet myDataSet,string myConnection,string mySelectQuery,string myTableName)
{
OleDbConnection myConn = new OleDbConnection(myConnection);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter();
myDataAdapter.SelectCommand = new OleDbCommand(mySelectQuery, myConn);
OleDbCommandBuilder custCB = new OleDbCommandBuilder(myDataAdapter); myConn.Open(); DataSet custDS = new DataSet();
myDataAdapter.Fill(custDS); //code to modify data in dataset here myDataAdapter.Update(custDS, myTableName); myConn.Close(); return custDS;
}
{
OleDbConnection myConn = new OleDbConnection(myConnection);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter();
myDataAdapter.SelectCommand = new OleDbCommand(mySelectQuery, myConn);
OleDbCommandBuilder custCB = new OleDbCommandBuilder(myDataAdapter); myConn.Open(); DataSet custDS = new DataSet();
myDataAdapter.Fill(custDS); //code to modify data in dataset here myDataAdapter.Update(custDS, myTableName); myConn.Close(); return custDS;
}
try
{
PMConnection.Open();
SqlDataAdapter ReadGenCatalog = new SqlDataAdapter(sQueryGenCatalog,PMConnection);
DataSet LoadGenCatalog = new DataSet();
ReadGenCatalog.Fill(LoadGenCatalog,"GenCatalog");
dataGrid1.SetDataBinding(LoadGenCatalog,"GenCatalog");
}
catch(Exception E_SQLERROR)
{
er.vWrLog(E_SQLERROR,er.ErrorMsg,1); // 出错日志
}
finally
{
PMConnection.Close();
}
【解答二】:删除数据最好不要通过SqlDataAdapter来做,直接用SqlCommand做好了。
myda.Fill(ds,"a");
的时候出错的
有两种可能
1.是参数a是表名,在对应的myda中没有对应的表映像。
解决方法:在调试模式中查看myda对象的内部包含的对象或内容。
2.是向ds中添加表a结构及数据时出现不符合规则的数据。
解决方法:在DataSet填充取消规则检查
DataSet.EnforceConstraints = false;
myda.Fill(ds,"a");
DataSet.EnforceConstraints = true;