永发信息网

INSERT 语句中列的数目大于 VALUES 子句中指定的值的数目。

答案:2  悬赏:80  手机版
解决时间 2021-04-09 10:03
  • 提问者网友:火车头
  • 2021-04-08 21:12
string mySql = "insert into dbo.HardwareInfo(AssetsNo,AssetsName)values('" + TextBox2.Text +","+TextBox11.Text+"')";只有一个匹配的就可以在数据库录入。两个以上就会出现INSERT 语句中列的数目大于 VALUES 子句中指定的值的数目。VALUES 子句中值的数目必须与 INSERT 语句中指定。都是两个!!!哪里数目不同,囧!
最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-04-08 22:26
注意看你的Textbox2.text后面,拼接的字符串里少了单引号,同样,在textbox11之前也少了单引号,这样的结果就会让你的sql变成这种values('textbox2的值,textbox11的值') 也就是说你只传了一个值进去,当然就会报你看到的错误。
需要改成
string mySql = "insert into dbo.HardwareInfo(AssetsNo,AssetsName)values('" + TextBox2.Text +"','"+TextBox11.Text+"')";
或者换成更清晰的写法
string mySql =string.format("insert into dbo.HardwareInfo(AssetsNo,AssetsName) values('{0}','{1}')",TextBox2.Text,TextBox11.Text);
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-04-08 22:42
你的values后面的各个值之间没有加逗号。 试一下: string strsql="insert into students(stuname,realname,stusex,stuage,degree,stupwd,semail,stel,qq) values("; strsql = strsql + "'" + txtname.text + "',"; strsql = strsql + "'" + txtrealname.text + "',"; strsql = strsql + "'" + sex.text + "',"; strsql = strsql + "'" + txtage.text + "',"; strsql = strsql + "'" + dropdownlist1.items + "',"; strsql = strsql + ",'" + username.text + "',"; strsql = strsql + "'" + txtemail.text + "',"; strsql = strsql + "'" + txttel.text + "',"; strsql = strsql + "'" + txtqq.text + "')";
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯