access数据库insert问题,有"自动编号"字段怎么处理?
My error:查询值的数目与目标字段中的数目不同
sql = "insert into User values('a','a','a','a',1)"
database:
User(int , string ,string ,string ,string ,int)
第一个int是"自动编号"
"自动编号"应该怎么处理?怎么写insert语句?
谢谢!
问题点数:30、回复次数:5Top
1 楼xiezuming(死猫咪)回复于 2003-08-03 22:52:52 得分 0
还有一个问题,当我插入成功后,有没有简单的方法可以得到那个编号值Top
2 楼xiahouwen(武眉博<活靶子.NET>)回复于 2003-08-03 22:55:46 得分 7
自动编号的字段不要insertTop
3 楼jianglinchun(萧丰)回复于 2003-08-03 22:56:09 得分 7
自动编号字段无序写入插入语句,因为数据库会自动编号。
插入后得到那个编号值的办法建议研究一下其他人的程序。Top
4 楼pvnk(像烟花一样寂寞)回复于 2003-08-03 23:03:30 得分 7
自动编号的不需要你进行插入!!
Top
5 楼lufly2000(凌绝顶)回复于 2003-08-04 01:09:55 得分 9
插入成功后可以获得那个自动编号的字段的值,对于sqlserver可以使用存储过程输出参数返回,对于access,可以在rowupdated事件中返回SELECT @@IDENTITY语句的结果,参考代码如下:
private void rowupdated(object sender,OleDbRowUpdatedEventArgs e)
{
if(e.StatementType==StatementType.Insert)
{
OleDbCommand comm=new OleDbCommand("SELECT @@IDENTITY",conn);
e.Row["nnoid"]=(int)comm.ExecuteScalar();
}
}Top



