【DataSet更新到数据库的问题】

boyxia 2004-08-13 11:01:15
myConn = new OleDbConnection(connStr_MSDAORA);
myDataAdapter = new OleDbDataAdapter();
myDataAdapter.DeleteCommand = new OleDbCommand("DELETE FROM XT_QX_ZZ_TB WHERE (QX_ZZ_BM = @QX_ZZ_BM)",myConn);
myDataAdapter.DeleteCommand.Parameters.Add("@QX_ZZ_BM", OleDbType.Double, 5472, "QX_ZZ_BM");
myDataAdapter.Update(myDataSet.Tables[0].GetChanges());

为什么执行的时候老是提示缺少表达式?
...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
suosuoyyy 2004-08-13
  • 打赏
  • 举报
回复
仅仅给DeleteCommand赋值是不够的,
string sqlStr = "Select * From " + tabName;
SqlDataAdapter DataAdapter = new SqlDataAdapter(sqlStr,Connection);
SqlCommandBuilder CommandBuilder = new SqlCommandBuilder(DataAdapter);
//这里重新设置你的DeleteCommand
DataAdapter.DeleteCommand.CommandText = ...;
DataAdapter.DeleteCommand.Parameters.Add("@QX_ZZ_BM",,);
DataAdapter.DeleteCommand.Parameters[("@QX_ZZ_BM"].Value = ...; //需要给参数赋值

DataAdapter.Update(dataSet,tabName);
boyxia 2004-08-13
  • 打赏
  • 举报
回复
myConn = new OleDbConnection(connStr_MSDAORA);
myDataAdapter = new OleDbDataAdapter();
myDataAdapter.DeleteCommand = new OleDbCommand("DELETE FROM XT_QX_ZZ_TB WHERE (QX_ZZ_BM = ?)",myConn);//改成问号就行了
myDataAdapter.DeleteCommand.Parameters.Add("@QX_ZZ_BM", OleDbType.Double, 5472, "QX_ZZ_BM");
myDataAdapter.Update(myDataSet.Tables[0].GetChanges());

散分
boyxia 2004-08-13
  • 打赏
  • 举报
回复
myConn = new OleDbConnection(connStr_MSDAORA);
myDataAdapter = new OleDbDataAdapter();
myDataAdapter.DeleteCommand = new OleDbCommand("DELETE FROM XT_QX_ZZ_TB WHERE (QX_ZZ_BM = @QX_ZZ_BM)",myConn);
myDataAdapter.DeleteCommand.Parameters.Add("@QX_ZZ_BM", OleDbType.Double, 5472, "QX_ZZ_BM");
myDataAdapter.Update(myDataSet.Tables[0].GetChanges());

为什么执行的时候老是提示缺少表达式?

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧