求助,我的ACCESS数据库中有个字段UserID是自动编号的,在注册页想往其中添加记录时如何实现自动编号.采用在csdn里找到的方法:表里设置该字段为自动增长,插入时不用插入该字段就可以的方法, 即如表中有字段UserID ,UserName,UserSex,其中UserID为自动编号,插入语句用:insert into UserTable(UserName,UserSex) values("dd","男")的方法不行,出错信息为:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。一直找不到问题所在,希望高手赐教!

解决方案 »

  1.   

    insert into UserTable(UserName,UserSex) values('dd','男')用单引号
      

  2.   

    如同楼上的,用单引号,SQL语句写错了
      

  3.   

    insert into UserTable(UserName,UserSex) values('dd','男')
    单引号
      

  4.   

    把其他代码也贴出来啊.
    insert into UserTable(UserName,UserSex) values('dd','男')
    应该可以啊
      

  5.   

    你用这个语句直接在access中执行,看行不行,应该是没有问题
      

  6.   

    看看access的函数帮助记得有一个函数可以产生,就像sql2000里面的newid(),呵呵
    1号群:23266021
    2号群:4510861
    以上群已满请大家珍惜!3号群已经开放:22671516
    请大家赶快加入!
      

  7.   

    you can first put ("dd","男")into your table manually ,check if it is possible.
    check the type of your field
      

  8.   

    insert into UserTable(UserID,UserName,UserSex) values(0,'dd','男');
      

  9.   

    现在是一个可以,即只有UserID和UserName字段
      

  10.   

    建议楼主对插入代码段做try{}catch{}异常处理,看看错误提示问题出在哪行代码,然后贴出来让大家分析分析.
      

  11.   

    OleDbConnection conn=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\\fpps.mdb");string sel="INSERT INTO Test (FieldID, Left) VALUES ('19','50')";

    OleDbCommand cm=new OleDbCommand(sel,conn); 
    conn.Open();
    cm.ExecuteNonQuery();
    conn.Close();这是代码
    在C盘下用Access建了个fpps的数据库,在数据库里建了个表Test,有三个字段:ID(自动编号)、FieldID(文本型)、Left(文本型)
      

  12.   

    报错为:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
      

  13.   

    insert into UserTable([UserName],[UserSex]) values('dd','男')
      

  14.   

    insert into [UserTable](UserName,UserSex) values('dd','男')
      

  15.   

    不要在Sql语句中直接拼写参数值;
    用参数的方式,如"@UserName",再用Parameters赋入参数值;
    试一试,应该能解决你的问题!
      

  16.   

    建议搂主到access中调试,看看能否通过!!