起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 251|回复: 11

【结贴】设置数据集的SQL.TEXT删除代码问题**

[复制链接]
发表于 2009-2-16 08:54:40 | 显示全部楼层 |阅读模式
我在添加记录之前先用设置数据集的SQLFILTER来查询数据库中有没有相关的记录,有的话先删除然后再添加,我删除的代码是通过设置数据集的SQL.TEXT来实现的,但是等删除完后我添加记录的时候就提示违反关键字原则,我找了一下原因,是删除后数据集没有更新还是查询时候的记录,请问怎么清空数据集的SQLFILTER?也就是刷新数据集
回复

使用道具 举报

发表于 2009-2-16 09:04:06 | 显示全部楼层
close open 一下数据集就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 09:11:16 | 显示全部楼层
不行,是前面删除的时候设置的SQL.TEXT不能清空,我重新设置为SELECT查询代码也不行,提示没有返回结果之类的
回复 支持 反对

使用道具 举报

发表于 2009-2-16 09:16:34 | 显示全部楼层
能把你的代码贴出来看看。
回复 支持 反对

使用道具 举报

发表于 2009-2-16 09:16:34 | 显示全部楼层
你代码贴上来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 09:19:38 | 显示全部楼层
s := ' worktypename='''+FieldByName('StandardName').AsString+'''';
        DataSetBZSJJ1.SQLFilter := s;
        DataSetBZSJJ1.SQLFiltered := True;
        ss := FieldByName('StandardName').AsString;
        if not DataSetBZSJJ1.Eof then
        begin
          if JsDialogs.ConfirmBox(ss+' 工种已存在,确定删除重新添加吗?','提示信息',1) then
          begin
            s := 'delete from ALLOTMATERIALINFO where enno='''+DataSetGZLB.FieldByName('enno').AsString+''' and worktypeno='''+FieldByName('FieldddNo').AsString+'''';
           DataSetBZSJJ1.SQL.Text := s;
            DataSetBZSJJ1.ApplyUpdates;

          end
        Else
          Exit;
        end;

     DataSetBZSJJ1.Insert;
     DataSetBZSJJ1.Edit;
回复 支持 反对

使用道具 举报

发表于 2009-2-16 09:28:06 | 显示全部楼层
s := 'delete from ALLOTMATERIALINFO where enno='''+DataSetGZLB.FieldByName('enno').AsString+''' and worktypeno='''+FieldByName('FieldddNo').AsString+'''';
不能在标准数据集里面执行,放在tquery里面execute
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 09:31:44 | 显示全部楼层
可是我查询后直接用DataSetBZSJJ1.delete;DataSetBZSJJ1.applyupdates;
也不行?提示数据集不是edit状态之类的
回复 支持 反对

使用道具 举报

发表于 2009-2-16 09:33:02 | 显示全部楼层
最初由 lixy 发布
[B]s := 'delete from ALLOTMATERIALINFO where enno='''+DataSetGZLB.FieldByName('enno').AsString+''' and worktypeno='''+FieldByName('FieldddNo').AsString+'''';
不能..

以下省略...... [/B]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 09:42:38 | 显示全部楼层
Connection1连接参数设置后提示类未注册,如果我不用这个query,直接操作标准数据集,只要能实现删除功能然后能对数据集进行刷新就行
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-29 23:54 , Processed in 0.040573 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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