请教专家高手,调试过程中如何看到结果集

缘中人 2006-04-07 11:31:23
请教专家高手,如我有个query运行select语句,在调试过程中如何像查看变量那样方便的能查看到看到结果集;

void __fastcall Tfrm::BitBtn1Click(TObject *Sender)
{
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select f1,f2,f3 from #t1");
Query1->ExecSQL();//调试时运行到这里想看到结果集,而且是 像查看变量那样方便 不知可否?

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select f1,f2,f3 from #t2");
Query1->ExecSQL();
}

如有方案,感激不尽!
...全文
430 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
MEFULEU 2007-04-20
  • 打赏
  • 举报
回复
自己一边说,一边还错~

要看结果就新增一个grid;把数据源给他;

huzhangyou 2007-04-11
  • 打赏
  • 举报
回复
真是晕

查询用ExecSQL看什么啊
faint~~~
chenxidu 2007-04-11
  • 打赏
  • 举报
回复
听听已是黄昏独自愁的吧
缘中人 2006-12-25
  • 打赏
  • 举报
回复
呵呵,谢谢大家
zmzbs123 2006-07-31
  • 打赏
  • 举报
回复
恩,思路不对头~
jaffy 2006-07-31
  • 打赏
  • 举报
回复
想法挺好,如果有这样的办法,告诉我,其实我在想,你为什么不写成存储过程呢?
这样就可以一边设计一边调试了
LunTanZeng 2006-07-28
  • 打赏
  • 举报
回复
呵呵,
缘中人 2006-04-12
  • 打赏
  • 举报
回复
1.谢谢各位,抱歉,我失误了贴代码时搞错了,应该用Query1->Open();
2.有这个想法是最近在做.net的程序时受到启发的,我发现在调试时能看到结果集那对我们可开发数据库程序将是非常方便的事情.所以我想c++builder能否想办法也能这样呢?
3.如果用dbgrid,,调试过程中窗体不显示,窗体上的dbgrid也不显示,必须要等程序运行完后才能看到窗体上dbgrid的数据
4.我这样做目的不是位了校验sql语法是否正确,主要就是为了看看结果集的数据,如下
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select id,name,je,lx into #ls from #mx where date>:t1 and date<:t2 and lx=:p3 and czy=:p4 ks=:p5 and type=:p6");
Query1->ExecSQL(); //假设,#mx表是前台程序经过好多步得到的,然后从中过滤满足条件的数据,这样#ls可能会很小,这些参数我是从界面上根据用户输入的值才赋值的,如果放到sql server里看结果,这些参数又得一个一个写值,而且#mx是个临时表,又得把前面那些步骤的sql全搬到sql server 里,很麻烦的,呵呵.

lurel 2006-04-08
  • 打赏
  • 举报
回复
最好不要在BCB中来调试sql结果,把sql在sql server的查询分析器中运行一下,在凋入bcb.
如果要是oracle在pl/sql developer调试.利用bcb编利数据是很慢的,而且数据量大的话还不一定有你想要的那部分结果集
阿阌 2006-04-07
  • 打赏
  • 举报
回复
我认为楼上的办法最方便。我也是这么干的,很快且方便。
tianshu888 2006-04-07
  • 打赏
  • 举报
回复
现在 SQL查询分析器 调试好你的sql语句 ,在添加到Query1->SQL->Add("");中不是很方便?
僵哥 2006-04-07
  • 打赏
  • 举报
回复
与其这么看结果,还不如把你的SQL语句的内容给打出来,然后直接放到SqlServer里面跑看数据
-----------------------
這個就得看情況了,在某些時候考慮到事務環境,結果是不一樣的.
Jim@luckeeinc.com 2006-04-07
  • 打赏
  • 举报
回复
与其这么看结果,还不如把你的SQL语句的内容给打出来,然后直接放到SqlServer里面跑看数据
netsys2 2006-04-07
  • 打赏
  • 举报
回复
再说了,数据集可能几十万条,你怎么看?

要检查数据集是否正确,直接用DBGRID来显示QUERY的数据就可以了!
netsys2 2006-04-07
  • 打赏
  • 举报
回复
楼上正确!

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select f1,f2,f3 from #t1");
Query1->ExecSQL();//调试时运行到这里想看到结果集,而且是 像查看变量那样方便 不知可否?

------》不会有任何数据集!

因为你用错函数啦!

应该是

Query1->Open();
僵哥 2006-04-07
  • 打赏
  • 举报
回复
ExecSQL
只會返回一個影響的行數,或者錯誤信息,不會有任何結果集.

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧