晕死,搞了一天也没明白是什么问题。dtMain.Rows.Add(drMain);
OleDbCommandBuilder cbMain;
cbMain = new OleDbCommandBuilder(daMain);
daMain.UpdateCommand = cbMain.GetInsertCommand();
daMain.Update(dsMain, "outgo");
dsMain.AcceptChanges();在C#中使用ado.net,表格outgo中有一个自动编号的列为主键,
修改和删除都没有问题,可是在添加新记录的时候总是提示
“insert into语句的语法错误”,在操作别的表格有文本列
为主键时用相同的这一系列操作却没问题,到底是怎么搞的?
把这个表中的主键改为文本以后还是出同样的问题,但是这些
语句在别的窗体中却可以正常运行。我看了生成的语句是 insert into outgo (x,x,x,x...) values (?,?,?,?...)
这里边没有自动编号那一项,查MSDN,查了半天给那个例子试了一下好象也没什么用
这个东西我感觉还不如vb6的时候那个ado控件好用
OleDbCommandBuilder cbMain;
cbMain = new OleDbCommandBuilder(daMain);
daMain.UpdateCommand = cbMain.GetInsertCommand();
daMain.Update(dsMain, "outgo");
dsMain.AcceptChanges();在C#中使用ado.net,表格outgo中有一个自动编号的列为主键,
修改和删除都没有问题,可是在添加新记录的时候总是提示
“insert into语句的语法错误”,在操作别的表格有文本列
为主键时用相同的这一系列操作却没问题,到底是怎么搞的?
把这个表中的主键改为文本以后还是出同样的问题,但是这些
语句在别的窗体中却可以正常运行。我看了生成的语句是 insert into outgo (x,x,x,x...) values (?,?,?,?...)
这里边没有自动编号那一项,查MSDN,查了半天给那个例子试了一下好象也没什么用
这个东西我感觉还不如vb6的时候那个ado控件好用
解决方案 »
- winform textbox 回车 噔噔响,如何让它不响
- WPF的MDI窗口,禁用最大化按钮的同时又要求可以改变窗体的大小.求解决办法
- C#winform里怎么实现放大图片?
- 急~在线等~~SQL语句问题~
- [C#]Framework's BUG ??
- 大家有没有遇到过这个问题
- C#word操作的时候怎么样才能分辨到底是文档还是表格
- 请教,如何在propertygrid中点击某个item时可以调用自定义的画面,如font属性调用font画面那般
- 获取本地机器的外网ip问题
- 各位高手,求你们帮帮忙!磁盘不能访问,老提示格式化!里边可有开发好的PDA程序阿!
- 大家有没有遇到过richtextbox无法使用ctrl-v粘贴的怪事???
- 用这种方法实现全局变量,有什么利弊吗?急!
这个插入语句是command bulider生成的,
应该怎么做?
drMain["id"] = ?
是不是vs.net里边的东东?
{
drMain = dtMain.NewRow();
drMain.BeginEdit();
drMain["date"] = dtpDate.Value;
drMain["category"] = cmbCategory.Text;
drMain["detail"] = cmbDetail.Text;
drMain["price"] = Convert.ToSingle(txtPrice.Text);
drMain["amount"] = Convert.ToSingle(txtAmount.Text);
drMain["money"] = Convert.ToSingle(txtMoney.Text);
drMain["name"] = cmbName.Text;
drMain["comment"] = txtComment.Text;
drMain.EndEdit(); dtMain.Rows.Add(drMain);
OleDbCommandBuilder cbMain;
cbMain = new OleDbCommandBuilder(daMain);
daMain.UpdateCommand = cbMain.GetInsertCommand();
daMain.Update(dsMain, "outgo");
dsMain.AcceptChanges();
}
查得生成的插入语句为:
"INSERT INTO outgo( date , category , detail , price , amount , money , name , comment ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? )"
其中outgo表格中第一列为 “id”,值为”自动编号”.数据库为access.
我试试自己写看行不行吧
死活就是出错,哪怕把自动编号字段删除,另外设一个主键也不行
真TMD怪事
然后给这个字段赋值,结果还是不行,难到是.net的bug?
同样一段程序,在别的窗体中操作别的表格一点问题也没有,奇怪
把outgo( date , category , detail , price , amount , money , name , comment )
改为
outgo( D_date , category , detail , price , amount , D_money , name , comment )