看看是不是表中數據關鍵字重復了.你查一下看看當前的UserName是不是已經存在
上面的語句好象沒有什麼問題.

解决方案 »

  1.   

    哈哈,你将字段名字改一下试试看,都加个1吧,准能成
    User_List(UserName1,Password1,Power1)
    及着修改原来表的字段名
      

  2.   

    你这个语句好像没有问题!我这里也有一个问题,大家能不能帮我。我如果将connection变量定义成全局变量,让多个类共用,但老是出问题,编译不通过(报存在三个错误,但按F4在程序代码中定位不了)。最后总结出来了,先要将它定义成类的成员变量,编译一下,然后将它定义回来(定义成全局变量,将成员变量注释掉,其他任何定方都没有改变),编译就通过了,然后过了一段时间,又出现那个错误,然后又只好重复上面的动作....不知各位遇到过如此奇怪的问题没有,若遇到过,告诉小弟怎么解决! 谢谢
      

  3.   

    strSQL.Format("INSERT INTO [User_List]([UserName],[Password],[Power]) VALUES('%s','%s','%s')",strName,strPsd,strPower);
      

  4.   

    to==>Frank_Xu() UserName中绝对没有重复!
    to==>zxbsyx(小鱼儿) 为什么呀,这样是不是不可以?
    to==>lishush(☆↑苯鸟先飞↑☆) ,我看也没什么问题!
      你把Connection定义在应用类中,如果在需要使用的地方申明为extern!
      

  5.   

    表名试试大写, 有的数据库系统有这样的要求。(可以设置的)strSQL.Format("INSERT INTO [User_List]([UserName],[Password],[Power]) VALUES('%s','%s','%s')",strName,strPsd,strPower);但这句话本身好像没有什么错误。
      

  6.   

    将SQL语句输出成文本,在数据库环境中执行一下,会告诉你明确的错误的。
      

  7.   

    将SQL输出调试是个好方法。
    有些数据库是大小写敏感的,或者是KEY重复了。
      

  8.   

    将strSQL用char*代替试试
    CString有时很不好用
      

  9.   

    To ==>EveryOne,该问题已经解决,但我不知道为什么?
        我用的是VC6.0+ADO+Access2000+Win2000,为什么用“dockbar(dock)”就是在标名和字段名都加上‘[]’就可以了,为什么在程序里有的地方不加也可以,有的地方不加就不行(加上以后就没为什么了)