起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 349|回复: 19

【结贴】runfunc函数的问题**

[复制链接]
发表于 2009-2-11 16:35:51 | 显示全部楼层 |阅读模式
代码如下,功能A调用功能B:
SystemCore.TSystemCore.FuncManager.RunFunc(Context,'','Biz:\DAILYWORK\FUNC\GZDYCX.FUNC',zxrxm,nil,false);

在打开的功能B里有一个查询操作,使用的数据集与调用上面代码的功能A使用的不是同一个数据集,但是是同一个数据表。
在功能A上进行新增操作,有个按钮点击之后执行上面的按钮打开功能B进行查询,但是查询结果为空,不知道为什么?实际是有数据的。
不知道是不是与context参数有关,麻烦帮看下。
回复

使用道具 举报

发表于 2009-2-11 16:51:46 | 显示全部楼层
在功能A上进行新增操作后,数据是否提交到数据表呢?也就是说,你是从数据库上看数据确实有的,还是从功能A界面上看到的。
如果没有提交到数据库,且不是一个数据集,那么跟环境肯定没有关系的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 16:56:58 | 显示全部楼层
没有提交到数据库,但是查询的时候功能给出的结果是空。
回复 支持 反对

使用道具 举报

发表于 2009-2-11 17:29:04 | 显示全部楼层
在运行b功能传进去zxrxm参数的值是否已经提交到数据库里面了?如果你只是在A功能看到没有提交到数据库,那么运行b功能也是看不到的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 17:40:11 | 显示全部楼层
没有提交。我不是要查新增的数据,是要查历史数据
回复 支持 反对

使用道具 举报

发表于 2009-2-11 18:30:15 | 显示全部楼层
建议楼主,在B功能里设置断点,跟踪一下代码,看看过滤部分是否有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-12 10:35:35 | 显示全部楼层
过滤没有问题,但是数据集一直是空的
回复 支持 反对

使用道具 举报

发表于 2009-2-12 10:42:41 | 显示全部楼层
代码设置断点跟踪一下,看一下取数据的sql是不是你想要的,这个sql取出来的记录是否正确呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-12 13:43:28 | 显示全部楼层
在调用的功能B的onshow方法里写了如下操作:
procedure TGZDYCXW.BizFormShow(Sender: TObject);
var
  zxrxm,sql:string;
begin
  dsbgzdy.dataset.Open;
  zxrxm := FuncBroker1.Func.Parameters.ToString;
  if zxrxm.Equals('')=false then begin

    sql:='select * from gzb where zxrxm='''+zxrxm+'''';
    tsqldataset(dsbgzdy.DataSet).SQL.Text:=sql;
    dsbgzdy.DataSet.close;
    dsbgzdy.DataSet.open;
    if dsbgzdy.DataSet.RecordCount=0 then
      jsdialogs.ShowMsg('没有给该人分配过作业。','提示');
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2009-2-12 13:55:14 | 显示全部楼层
dsbgzdy.DataSet.open以后你看一下dsbgzdy.DataSet.DataFetch.CommandText值是什么?在数据库中能查询出值么?和你的sql一样么?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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