各位好!
开发环境用的是SQL2000+D7
数据库有一表使用字段ID作为主键。类型为自增长不可重复,标识为1其他字段都允许空;
程序中连接方式为 TADOQUERY+ TDATASETPROVIDER +TCLIENTDATASET
(其中adoquery,clientdataset都分别add all field且把id设置为
pfinkey=true,pfinupdate = false,pfwhere = true,
AutoGenerateValue = arAutoInc,readonly = true)。 在程序循环赋值
clientdataset.append;
clientdataset.fieldbyname('其他字段').asstring := 'xxx';
clientdataset.post;
第二次post出现 'key violation' 错误
请问我是不是那里设置出错了?
开发环境用的是SQL2000+D7
数据库有一表使用字段ID作为主键。类型为自增长不可重复,标识为1其他字段都允许空;
程序中连接方式为 TADOQUERY+ TDATASETPROVIDER +TCLIENTDATASET
(其中adoquery,clientdataset都分别add all field且把id设置为
pfinkey=true,pfinupdate = false,pfwhere = true,
AutoGenerateValue = arAutoInc,readonly = true)。 在程序循环赋值
clientdataset.append;
clientdataset.fieldbyname('其他字段').asstring := 'xxx';
clientdataset.post;
第二次post出现 'key violation' 错误
请问我是不是那里设置出错了?
程序里赋值也没有对ID进行操作的
如:select add,bdd,cdd... from table //不含自动增长型列
所以不必对它操作,也不能对其操作。那是数据库的工作
我没有对ID进行任何赋值动作的。都是由数据库对他自行管理的。帖子写的很清除了。谢谢你的回答