sql server插入数据报错“ 插入错误: 列名或所提供值的数目与表定义不匹配。”
做jsp插入数据时报错:插入错误:列名或所提供值的数目与表定义不匹配。我的程序很多,一一贴出来是费神是事,下面提供一点点线索,插入数据代码是publicintadd(Ob...
做jsp插入数据时报错:插入错误: 列名或所提供值的数目与表定义不匹配。我的程序很多,一一贴出来是费神是事,下面提供一点点线索,插入数据代码是public int add(Object[] params){ String sql="insert into milu values(?,?)"; return update(sql, params); }values的参数是一个servlet中定义的,接收表单的数据并定义成数组插入,如下:String user=request.getParameter("user"); String pwd=request.getParameter("pwd"); Object[] params={user,pwd}; int i=new WordDao().add(params);另外sql server 2005表很简单,如下:主键是id。不知道为何报如上的错,报这个错大概是哪方面出了问题?是sql语句还是表的属性啊,还是插入参数定义个数和表的列数目之类的错呢
展开
4个回答
2011-09-24
展开全部
插入操作的格式是:
INSERT INTO TABLE_NAME <COLUMN_NAMES> <(VALUES <(COLUMN_VALUES)>)> (<SELECT SEGMENT>)
你的语句中'tp00000120'这个值对应的是那个列,可能你要修改一下表结构。
给你个例子:
create table book
(bookid char(10),
bookname char2(40),
publish char2(40)
);
-- 插入语句1:
INSERT INTO book VALUES('tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
-- 插入语句2:
INSERT INTO book (bookid,bookname,publish)
VALUES(' tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
INSERT INTO TABLE_NAME <COLUMN_NAMES> <(VALUES <(COLUMN_VALUES)>)> (<SELECT SEGMENT>)
你的语句中'tp00000120'这个值对应的是那个列,可能你要修改一下表结构。
给你个例子:
create table book
(bookid char(10),
bookname char2(40),
publish char2(40)
);
-- 插入语句1:
INSERT INTO book VALUES('tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
-- 插入语句2:
INSERT INTO book (bookid,bookname,publish)
VALUES(' tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String sql="insert into milu values(?,?)"; 这一句要修改一下,表名后要加上列名
String sql="insert into milu(user,pwd) values(?,?)";
String sql="insert into milu(user,pwd) values(?,?)";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的id 是自动增长 要是的话 就把表名后加上列名
要是id 不是自增长的话 就得手动 添加Id 了
要是id 不是自增长的话 就得手动 添加Id 了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询