用unidac操作MYSQL,插入操作,出错: Duplicate entry '1212' for key 'PRIMARY'
用ADO+ODBC操作mysql,同样的插入操作就不会报错这个主键每次在程中的值都是不一样的,用ado+odbc都没问题,但用unidac操作时就会报错
//添加区域绑定
uniquery1.SQL.Clear;
uniquery1.SQL.text:='insert into zbxx(路线代码,左,上,右,下) values (:a,:b,:c,:d,:e)';
uniquery1.ParamByName('a').Value:='中国'+formatdatetime('MMDDHHMMSS',NOW) ;
uniquery1.ParamByName('b').Value:=12;
uniquery1.ParamByName('c').Value:=24;
uniquery1.ParamByName('d').Value:=11;
uniquery1.ParamByName('e').Value:=60;
uniquery1.ExecSQL;
uniquery1.Open;
用ADO+ODBC操作mysql,同样的插入操作就不会报错这个主键每次在程中的值都是不一样的,用ado+odbc都没问题,但用unidac操作时就会报错
//添加区域绑定
uniquery1.SQL.Clear;
uniquery1.SQL.text:='insert into zbxx(路线代码,左,上,右,下) values (:a,:b,:c,:d,:e)';
uniquery1.ParamByName('a').Value:='中国'+formatdatetime('MMDDHHMMSS',NOW) ;
uniquery1.ParamByName('b').Value:=12;
uniquery1.ParamByName('c').Value:=24;
uniquery1.ParamByName('d').Value:=11;
uniquery1.ParamByName('e').Value:=60;
uniquery1.ExecSQL;
uniquery1.Open;
uniquery1.ExecSQL;
uniquery1.Open;
只要用一个就好了,对于没有返回集的insert用execsql就行了,如果是select的话就用open就行了.
哦,解决了就好
uniquery1.ExecSQL;
uniquery1.Open;
修改成uniquery1.ExecSQL;