起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1323|回复: 20

DataChange事件上报错

[复制链接]
发表于 2011-1-7 17:00:45 | 显示全部楼层 |阅读模式
procedure TMAINFORM.DataSetBroker4DataChange(Sender: TObject; Field: TDataField);
var
  bz:integer;
begin

  if (Field <> nil) and (Field.FieldName = 'BXBM') then
  begin
    if not ( DataSetBroker4.DataSet.FieldByName('BXBM').IsNull )and ( DataSetBroker4.DataSet.FieldByName('BXBM').AsString <>'' ) then
    begin
      Query2.Close;
      Query2.CommandText := 'select SFYWBM from BMDYB_BX where OABMMC = :a ';
      Query2.Params.ParamByName('a').AsString := DataSetBroker4.DataSet.FieldByName('BXBM').AsString;
      Query2.Open;
      bz:=  Query2.FieldByName('SFYWBM').AsInteger;
      if bz =1 then
      begin

        Button3.Enabled := true;
        DataSetBroker4.DataSet.FieldByName('HDXM').ReadOnly :=false;

      end
      else
      begin
        Button3.Enabled := false;
        DataSetBroker4.DataSet.FieldByName('HDXM').ReadOnly :=true;

      end;
    end;

  end;

1.jpg

98.92 KB, 下载次数: 248

回复

使用道具 举报

 楼主| 发表于 2011-1-7 17:01:51 | 显示全部楼层
if not ( DataSetBroker4.DataSet.FieldByName('BXBM').IsNull )and ( DataSetBroker4.DataSet.FieldByName('BXBM').AsString <>'' ) then
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-7 17:04:49 | 显示全部楼层
业务很简单,当DataSetBroker4上的bxbm改变时,根据业务控制DataSetBroker4上的一个字段的只读,并且控制表单上一个按钮不可用。但是当我选择bxbm时,就提示如图的错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-10 13:35:16 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

发表于 2011-1-10 15:53:44 | 显示全部楼层
问题是filed时空的,所以报错。你写的代码不对,这么写两个条件要都满足。  
if (Field <> nil) and (Field.FieldName = 'BXBM') then
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-11 10:35:28 | 显示全部楼层
这是DataChange事件的标准写法,怎么可能是错的呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-11 10:36:56 | 显示全部楼层
以前我所有的DataChange事件都是这样写的。不明白这个怎么错了。论坛上也是这种写法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-11 13:34:54 | 显示全部楼层
再顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-11 14:04:24 | 显示全部楼层
怎么没有人理呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-11 14:53:48 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 22:32 , Processed in 0.041894 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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