ADOQuery1.SQL.ADD('UPDATE SUBSET SET BH='+'"'+EDIT1.TEXT+'"'+',BOLTEXT='+'"'+EDIT2.TEXT+'"'+',BXIMAGE='+'"'+EDIT10.TEXT+'"');ADOQuery1.SQL.ADD(',LEVELPOW="'+EDIT9.TEXT+'",XCOL1='+EDIT5.TEXT+'",YCOL1="'+EDIT6.TEXT+'",TEXTXCOL1='+EDIT7.TEXT);ADOQuery1.SQL.ADD('",TEXTYCOL1="'+EDIT8.TEXT+'",WYSTATE='+'"'+ComboBOX1.Text+'"'+ '  WHERE MAPTEXT='+'"'+EDIT3.TEXT+'"');运行不正确,请问怎样修正?
其中 LEVELPOW,XCOL1,YCOL1,TEXTXCOL1,TEXTYCOL1 为数字字段,其它char字段

解决方案 »

  1.   

    ADOQuery1.SQL.ADD('UPDATE SUBSET SET 
    BH='''+trim(EDIT1.TEXT)+''',BOLTEXT='''+TRIM(EDIT2.TEXT)+''',BXIMAGE='''+TRIM(EDIT10.TEXT)+''' + '
    ' LEVELPOW='''+STRTOINT(EDIT9.TEXT)+''',.....; 
      

  2.   

    ' ... set strfield='+quotedstr(edit1.text)+' , intfield='+edit2.text
      

  3.   

    都知道字段了就转换下呗。strtoint
      

  4.   


    ADOQuery1.SQL.ADD('UPDATE SUBSET SET BH='+QuotedStr(EDIT1.TEXT)+',BOLTEXT='+QuotedStr(EDIT2.TEXT)+',BXIMAGE='+QuotedStr(EDIT10.TEXT)); ADOQuery1.SQL.ADD(',LEVELPOW='+EDIT9.TEXT+',XCOL1='+EDIT5.TEXT+',YCOL1='+EDIT6.TEXT+',TEXTXCOL1='+EDIT7.TEXT); ADOQuery1.SQL.ADD(',TEXTYCOL1='+EDIT8.TEXT+',WYSTATE='+QuotedStr(ComboBOX1.Text)+ '  WHERE MAPTEXT='+QuotedStr(EDIT3.TEXT)); 
      

  5.   

    在edit中输入字符要特别注意,QuotedStr把字符串S转换成为引用的字符串。单引号" ' " 将被插入到字符串s的最前和最后。而Trim()是删除字符串首部和尾部的空格。所以楼上用法简单点。免得逗号画多了出错