我想把数据插入到SQL的shopper的表中,但是总是提示有错误

解决方案 »

  1.   

    错误提示是这样的哈
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Serval] INSERT statement conflicted with COLUMN CHECK constraint 'CK_Recipient_cZipC_1CF15040'. The conflict occurred in database 'ToyUniverse', table 'Recipient', column 'cZipCode'.
      

  2.   

    好好看一下PreparedStatement stat=con.prepareStatement("insert into Recipient(cOrderNo,vFirstName,vLastName,vAddress,cCity,cState,cCountryId,cZipCode,cPhone) values(?,?,?,?,?,?,?,?,?)");,插入的数据[cZipCode]不符合规范
      

  3.   

    不知道你是否明白,其实程序本身没有错误,你把SQL语句放在Access里执行都会出错,也就是说是SQL语句本身有错误
      

  4.   

    database 'ToyUniverse', table 'Recipient', column 'cZipCode'.你在认真一点看看这个ToyUniverse数据库里面的Recipient数据表
    这个字段cZipCode的类型,你看看你定义的是char还是int应该那个错误说明的确是说你的类型不匹配
    是不是你定义了一个int型,不过却在语句中用了一个“abc”这样的
    非数字啊?你把你的那句insert语句打印出来看看
      

  5.   

    没错,你的Recipient表的cZipCode字段的值是从别的表引用过来的,而在该表插入数据时,你所插入的值在与Recipient相关联的表中找不到该值,这属于数据库表中的数据完整性控制
      

  6.   

    也就是说你所插入的值在关联的表中不存在,就会产生错误,
    比如:Recipient中的cZipCode和A表中的cZipCode相关联,并且Recipient中的cZipCode字段值是来自于A表中的cZipCode字段的值,现要在Recipient中的cZipCode字段中插入'003',而A表中的cZipCode字段的值却没有'003',这种情况下你的错误出来了
      

  7.   

    哦对的哈
    谢谢淋东兄
    和xkp兄