在做插入语句时,编译的时候提示Incompatible types:'string' and 'Tedit',请教一下问题在那里,插入语句如下
adoquery1.SQL.Add('insert into baseinfo (id,mc,fr,dz,fzr,cyrs,phone,km,djhm,xkqx,cs,bnsh,mj,yf,zds,czs) values ');
adoquery1.SQL.Add(' ('+edid.text+','''+edmc.text+''','''+edfr.text+''','''+eddz.text+''','''+edfzr.text+''','+edcyrs.text+','''+edphone.text+''','''+cmkm.text+''','''+eddjhm+''','''+edxkqx+''','+edcs+','''+cmbnsh+''','''+edmj+''','+edyf+','+edzds+','+edczs+')');
还有在查询分析器中这个insert语句分析能通过,但是执行就提示"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'baseinfo' 中的标识列插入显式值。",这又是为什么呀?
adoquery1.SQL.Add('insert into baseinfo (id,mc,fr,dz,fzr,cyrs,phone,km,djhm,xkqx,cs,bnsh,mj,yf,zds,czs) values ');
adoquery1.SQL.Add(' ('+edid.text+','''+edmc.text+''','''+edfr.text+''','''+eddz.text+''','''+edfzr.text+''','+edcyrs.text+','''+edphone.text+''','''+cmkm.text+''','''+eddjhm+''','''+edxkqx+''','+edcs+','''+cmbnsh+''','''+edmj+''','+edyf+','+edzds+','+edczs+')');
还有在查询分析器中这个insert语句分析能通过,但是执行就提示"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'baseinfo' 中的标识列插入显式值。",这又是为什么呀?
with adoquery1 do
begin
Close;
sql.text := 'select * from baseinfo';
open;
insert;
FieldByName('字段名').AsString := edid.text;
.......
post;end;或者
var sqlstr:
sqlstr:=''insert into baseinfo (id,mc,fr,dz,fzr,cyrs,phone,km,djhm,xkqx,cs,bnsh,mj,yf,zds,czs) values('+
edid.text+','+
''''+edmc.text+''','+
''''+edfr.text+''','+
''''+eddz.text+''','+
''''+edfzr.text+''','+
''''+edcyrs.text+''','''+
''''+edphone.text+''','+
''''+cmkm.text+''','+
''''+eddjhm+''','+
''''+edxkqx+''','+
edcs+','+
''''+cmbnsh+''','+
''''+edmj+''','+
edyf+','+
edzds+','+
edczs+')';
adoquery1.sql.text:=sqlstr;
adoquery1.execsql;如果ID字段是自动增加的则不用在SQL中插值