起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 164|回复: 6

【结贴】更新表

[复制链接]
发表于 2009-12-17 13:56:27 | 显示全部楼层 |阅读模式
if Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString <>'' then
        begin
          lQuery.CommandText := 'update RSZL_TABLE'
                            +' set rszl_sala = '' ' + Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString  +''' '
                            +' where rszl_ygbh='' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString)  +''' ' ;
          jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString)  +'''');
          jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString)  +'''');
          lQuery.Execute;
        end;
我用上面这段代码来更新表,但我设置的+' where rszl_ygbh='' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString)  +''' ' ; 取不到值,只要加上这个条件就什么都更新不了,我把这个条件设置为固定的值是可以更新的,而且jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YGJBXX').FieldByName('rszl_ygbh').AsString)  +'''');
          jsdialogs.ShowMsg('',''' ' + Trim(Infobroker.Info.DataSetByID('YDSJJ').FieldByName('ydzl_sala2').AsString)  +'''');
这两段代码取出来的值也是正确的
回复

使用道具 举报

发表于 2009-12-17 14:08:59 | 显示全部楼层
你把 lQuery.CommandText  这个showmessage出来,然后把where部分保留,前面部分用select * from tab 然后执行看看是否有结果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-17 14:32:59 | 显示全部楼层
按照你说的做后是这样的效果

b.jpg

750.05 KB, 下载次数: 88

回复 支持 反对

使用道具 举报

发表于 2009-12-17 14:34:30 | 显示全部楼层
这个弹出是什么?
我的意思是你把这个sql放到数据库中执行看是否可以查询得到数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-17 14:40:16 | 显示全部楼层
已经找到原因了,可以结贴,仍然谢谢!
回复 支持 反对

使用道具 举报

发表于 2009-12-17 15:04:05 | 显示全部楼层
说说吧,啥原因呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-17 16:26:12 | 显示全部楼层
哦,就是条件中多了几个空格,把空格去掉就好了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 14:40 , Processed in 0.043896 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表