跟踪调试一下,
你的单引号用的也不对。strInsert +=txtname.Text +",'";
strInsert +=txtbm.Text +",'";应该是strInsert +=txtname.Text +",'";
strInsert +=txtbm.Text +"','"; //后面也要加一个单引号啊
其他地方你都没加
你调试一下。问题就很好解决。
你的单引号用的也不对。strInsert +=txtname.Text +",'";
strInsert +=txtbm.Text +",'";应该是strInsert +=txtname.Text +",'";
strInsert +=txtbm.Text +"','"; //后面也要加一个单引号啊
其他地方你都没加
你调试一下。问题就很好解决。
strInsert +=txtname.Text +",'";而你的语句产生的结果是:
VALUES (6,';
正确的应该是:VALUES ('6',';既:
VALUES ("';
strInsert +=txtname.Text +"','";在调试状态仔细看看具体要执行的SQL语句是否有问题
VALUES (AAAAA,';
正确的应该是:VALUES ('AAAAA',';
values(a',b',c'...)
正确的:
values('a','b','c'...)
如果是数字也可
values(a,b,c....)
把结果直接放在Access的View里面运行一下看看错在哪?
==>
[cust]试试
建议将生成的SQL语句,打印出来,在ACCESS中建立一个查询,
再切换到SQL编辑状态。运行你的SQL语句,调试
为什不用参数呢?如:
sql = "Insert Into cust(a ,b,c,) Values(?,?,?)";
OleDbCommand comm = new OleDbCommand(sql ,oleDbconn);
comm.Parameters.Add("@a",this.textboxa.Text);
comm.Parameters.Add("@b",this.textboxb.Text);
comm.Parameters.Add("@c",this.textboxc.Text);
这样保证不会出错~~~