这样的SQL语句为什么总是会出错呢?

xsh 2001-07-19 02:51:23
clientdataset1.commandtext:='update tablename set bz="'+
trim(memo1.text)+'"';
clientdataset1.execute;

其中:tablename 代表数据库中的表名

bz 是该表中的字段,属于Memo 型。

结果一运行该程序,就出错!
原因是 BZ 为MEMO 字段,请问对于如此的MEMO 型字段在SQL 语句中
该如何处理呢?
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsh 2001-07-20
  • 打赏
  • 举报
回复
朋友们,我要解决的是不要用参数,但是我的语句中好象符号没有错误啊?
请指教!
谢谢!
xsh 2001-07-20
  • 打赏
  • 举报
回复
兄弟们!我都试过了,但还是出错!使用在C/S系统中。
taozc 2001-07-20
  • 打赏
  • 举报
回复
应该是:
'''+trim(memo1.text)+'''';
xiaojiachong 2001-07-20
  • 打赏
  • 举报
回复
这里的SQL语句中字符串是不是要用单引号界定,如果是那么在字符串中应该用两个连续单引号表示吧,而你的语句中似乎是一个双引号
jackylee 2001-07-20
  • 打赏
  • 举报
回复
关注
dana 2001-07-19
  • 打赏
  • 举报
回复
不用参数也行,是你的符号错了。
clientdataset1.commandtext:='update tablename set bz='"+trim(memo1.text)+"'';
是'"+...+"''
vv_www 2001-07-19
  • 打赏
  • 举报
回复
cyms(秋天的树)
恩,是这样的
cyms 2001-07-19
  • 打赏
  • 举报
回复
好象必须用参数,如下:
dataset.commandtext:='....set bz=:bbzz'
dataset.paramterbyname('bbzz').AsMemo:=memo1.text;
dataset.execute;
试试,可能行,看你用什么数据库,也许.AsBlob

5,388

社区成员

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

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