问个简单的插入问题

来源:互联网  时间:2016/8/16 8:44:26

关于网友提出的“ 问个简单的插入问题”问题疑问,本网通过在网上对“ 问个简单的插入问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 问个简单的插入问题
描述:

在做插入语句时,编译的时候提示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' 中的标识列插入显式值。",这又是为什么呀?


解决方案1:

我一般这样写:
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中插值

解决方案2:

以上写的看的几累呀! 不能换一种方式写吗?
with adoquery1 do
begin
  Close;
  sql.text := 'select * from baseinfo';
  open;
  insert;
  FieldByName('字段名').AsString := edid.text;
  .......
  post;
end;
或者

解决方案3:

'''+edmc.text+''' 都换成这个试试

上一篇关于Tquery定义的问题,在家进来看看吧~!!!!来者有分~!!
下一篇DbGridEh的DbClick事件怎么不能得到选中的行数呢,请大侠指教
明星图片
相关文章
《 问个简单的插入问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)