以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有报表使用存储过程的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43964)

--  作者:魔鬼之神
--  发布时间:2013/12/19 16:53:00
--  有报表使用存储过程的问题

请教一下,我目前所做的报表是通过存储过程产生数据集展示出来的,但遇到一个困惑就是,当我打开这个报表点击查询按钮后,不关掉报表,修改了相关的单据数据后,再去点击查询按钮时,报表数据没有发生变化,查询SQL也发现存储过程没有执行,再点击一次查询按钮就刷新了报表数据。也就是说一旦修改了单据,报表得点击两次查询按钮才能刷新数据。这是什么原因呢?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131219164734.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131219164818.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2013/12/19 16:57:00
--  

是不是前面有条件,用MessageBox.show分析一下:

...

MessageBox.show("执行前")

dt = cmd.ExcuteReader()

MessageBox.show("执行结束,获得行数:" & dt.DataRows.Count)

....


--  作者:Bin
--  发布时间:2013/12/19 16:58:00
--  
这么奇怪,我也无法理解.
第一次点击的时候,执行了代码吗?

--  作者:魔鬼之神
--  发布时间:2013/12/19 17:01:00
--  回复:(Bin)这么奇怪,我也无法理解.第一次点击的时候...
第一次点击时执行了代码
--  作者:狐狸爸爸
--  发布时间:2013/12/19 17:29:00
--  

在第一行用Messagebox.show显示下,看看有没有执行。

如果还是要单击两次,那么可能是焦点问题,个别情况下,第一次单击按钮,窗口获得焦点,第二次单击才算单击了按钮,执行Click事件。