日期:2014-05-17  浏览次数:20799 次

请问Access数据库2010
我在2010版的Access数据库,建了一张表,并创建了一个列,其数据类型为“自动编号”,那就说明此列是自增列吧,然后,在T-SQL语句中,插入数据,我并没有给自增列分配值,可是,却报错,,,然后,给自增列分配值,就没报错了,此情况,怎么理解啊,插入数据的时候,明明是不给自增列分配值的啊

------解决方案--------------------
要这么写:insert into 表名 (列名2,列名3,...,列名n)values(列值2,列值3,...,列值n)

注意用ado.net插入记录时,如果列值列表中列值个数,少于数据库表列的个数,则values前面的列名列表不能省略。


------解决方案--------------------
一个是编号列(id列),一个是自动增长,是不是都设置了。
------解决方案--------------------
楼主,报的什么错,不要以报错就说子增列的问题,还有坑内是其他的问题的。。。把错误贴出来
------解决方案--------------------
你确定你设置的是自增长列?

access的自增长叫自动编号:请参考 


若还有错误,请贴出错误信息,大家好帮忙参考。
------解决方案--------------------
只有一个列并且给这个列插入数值,那么,不赋值的话数据插哪里?
------解决方案--------------------
因此问题有点看不懂,如果是有2个列,给不是自增列插入数据是不会出错的.
------解决方案--------------------
我不是在1楼已经说了吗,包括解决这个问题的方法,你怎么不看的。
------解决方案--------------------
改成 com.CommandText = "Insert into 全部号码 (第1位,第2位,第3位,第4位,第5位,第6位)values('01','03','05','12','25','32')"; 

就这么写。


------解决方案--------------------
要这么写:insert into 表名 (列名2,列名3,...,列名n)values(列值2,列值3,...,列值n)

注意用ado.net插入记录时,如果列值列表中列值个数,少于数据库表列的个数,则values前面的列名列表不能省略。