为什么修改数据库的时候会出错?(50分)

  • 主题发起人 主题发起人 zengxuh
  • 开始时间 开始时间
Z

zengxuh

Unregistered / Unconfirmed
GUEST, unregistred user!
s:=memo1.text;
form1.AQ1.Close;
form1.AQ1.SQL.Clear;
form1.AQ1.SQL.Add('update goods set goodsname='''+edit1.Text+''',goodstext='''+richedit1.Text+''',picture='+inttostr(combobox1.itemindex)+',goodsword='''+s+''' where id='+tempLI.SubItems[0]+'');
form1.AQ1.ExecSQL;
memo1里的值为:
{/rtf1/ansi/ansicpg936/deff0/deflang1033/deflangfe2052{/fonttbl{/f0/fnil/fcharset134 /'cb/'ce/'cc/'e5;}}
{/colortbl ;/red0/green0/blue255;}
/viewkind4/uc1/pard/lang2052/f0/fs24 ab
/par /cf1 ssdd/cf0
/par }
为什么运行的时候会报错?说语法错误,操作符丢失?我想应该是单引号的问题(goodsword='''+s+'''),可是怎么解决呢?试过goodsword='+s+'也不行
 
form1.AQ1.SQL.Add('update goods set goodsname='''+edit1.Text+''',goodstext='''+richedit1.Text+''',picture='+inttostr(combobox1.itemindex)+',goodsword='''+s+''' where id='+tempLI.SubItems[0]+'');
改为
form1.AQ1.SQL.Add('update goods set goodsname='''+edit1.Text+''',goodstext='''+richedit1.Text+''',picture='+inttostr(combobox1.itemindex)+',goodsword='''+s+''' where id='+tempLI.SubItems[0]);
 
memo里有单引号, 所以得转义.
改为 QuotedStr(s) 就可以了.
 
一样的啊~~~[:(]
 
多人接受答案了。
 
后退
顶部