OleDbDataAdpter的update报错:insert 语句语法出错

qinjin2000 2004-08-23 06:00:21
sql = "select * from line order by id";
myCommand = new OleDbCommand(sql,conn);
myAd.SelectCommand = myCommand;
lineCb = new OleDbCommandBuilder(myAd);
myAd.Fill(dataSet1,"line");
sql = lineCb.GetInsertCommand().CommandText.ToString();
dataGrid1.SetDataBinding(dataSet1,"line");

最后在执行myAd.update(dataSet1,"line")时说insert 语句语法出错(在update(DataRows[],MappingName)中)

请问这一般是什么原因啊??我在程序中其他地方也用到一样的语句,但是就没有任何问题
...全文
167 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinjin2000 2004-08-30
  • 打赏
  • 举报
回复
单步调试??
我试试
humin1906 2004-08-24
  • 打赏
  • 举报
回复
那就是说对象没实例化了,GetInsertCommand()这个方法是不是有问题。
单步调试也不行?不太可能吧。
qinjin2000 2004-08-24
  • 打赏
  • 举报
回复
我顶
请各位高手不吝赐教啊
qinjin2000 2004-08-24
  • 打赏
  • 举报
回复
原问题出错的信息如下:
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows,DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable) at Dopc.Form1.toolBar1_ButtonClick(Object sender, ToolBarButtonClickEventArgs e) in f:\\jb8\\dopc\\dopc\\form1.cs:line 491(即update那一行)
qinjin2000 2004-08-24
  • 打赏
  • 举报
回复
Eddie005(暴走005):不好意思,忘记说明,lineCB就是一个OleDbCommandBuilder对象
zhzuo(秋枫) :拷贝不出来,一旦我想执行myAd.InserCommand.CommandText就出现 sql "System.NullReferenceException: 未将对象引用设置到对象的实例。
执行语句: sql = myAd.InsertCommand.CommandText.ToString();
marvelstack 2004-08-23
  • 打赏
  • 举报
回复
单步调试,然后再把InserCommand.CommandText属性里的语句考出来,看看是不是有问题。
lohoo 2004-08-23
  • 打赏
  • 举报
回复
把具体出错信息帖出来
Eddie005 2004-08-23
  • 打赏
  • 举报
回复
System.Data.OleDb.OleDbCommandBuilder cb = new System.Data.OleDb.OleDbCommandBuilder(myAd);
myAd.update(...);
.....
zahuifan 2004-08-23
  • 打赏
  • 举报
回复
楼主不是说 insert 语法出错?怎么却给出 Select 语句
dahuzizyd 2004-08-23
  • 打赏
  • 举报
回复
检查你的DataAdapter的InsertCommand的CommandText属性,看是不是可执行的sql语句

110,538

社区成员

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

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

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