为什么这句SQL语句不行?

wrwr8111 2002-10-30 09:46:14
query1.SQL.Add('set s%=s%,[ss[0],'''+ghedit.text+''']');
为什么这句话运行时有错误,其中ss[0]已赋了值,是STRING型的。请大家帮忙了。
...全文
28 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrwr8111 2002-10-30
  • 打赏
  • 举报
回复
我用的是MSQSL数据库,会不会是数据库的问题?
wrwr8111 2002-10-30
  • 打赏
  • 举报
回复
我现在用了: zswang(伴水)的方法,把语句改成了Query1.SQL.Add(Format('set %s=%s', [ss[0], QuotedStr(ghedit.text)]));但运行发生错误,

general sql error.
incorrect syntax near '=',请高手们多多帮忙了;

zhaojin1975 2002-10-30
  • 打赏
  • 举报
回复
写详细些,你现在加进去的根本不是一个完整的SQL语句呀
王集鹄 2002-10-30
  • 打赏
  • 举报
回复
使用Format()、QuotedStr()函数~~

Query1.SQL.Add(Format('set %s=%s', [ss[0], QuotedStr(ghedit.text)]);

//from
http://zswang.51.net/document/zsdoc02.txt

━━━━━━━━━━━━━━━━━━━━━
首部 function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas
功能 返回按指定方式格式化一个数组常量的字符形式
说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解
"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型
Format('x=%d', [12]); //'x=12' //最普通
Format('x=%3d', [12]); //'x= 12' //指定宽度
Format('x=%f', [12.0]); //'x=12.00' //浮点数
Format('x=%.3f', [12.0]); //'x=12.000' //指定小数
Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置
Format('x=%.5d', [12]); //'x=00012' //前面补充0
Format('x=%.5x', [12]); //'x=0000C' //十六进制
Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引
Format('x=%p', [nil]); //'x=00000000' //指针
Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法
Format('x=%%', []); //'x=%' //得到"%"
S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串
参考 proceduer SysUtils.FmtStr
例子 Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]);
━━━━━━━━━━━━━━━━━━━━━
首部 function QuotedStr(const S: string): string; $[SysUtils.pas
功能 返回字符串S在pascal中的表现形式
说明 单引号中的一个单引号将转成两个
参考 procedure System.Insert
例子 Edit2.Text := QuotedStr(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━

erickleung 2002-10-30
  • 打赏
  • 举报
回复
Not all sql server supports "macro" in SQL statement.
wrwr8111 2002-10-30
  • 打赏
  • 举报
回复
那应该怎么用?
gk123 2002-10-30
  • 打赏
  • 举报
回复
set s%=s%,[ss[0],''''+ghedit.text+''']'
ruihuahan 2002-10-30
  • 打赏
  • 举报
回复
s%=s%什么意思?用错了吧!
wrwr8111 2002-10-30
  • 打赏
  • 举报
回复
general sql error.
incorrect syntax near 'x%'
这是错误提示
zhilong 2002-10-30
  • 打赏
  • 举报
回复
提示什么错误?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧