有什么办法在客户端知道可以知道中间层query里面的sql语句?(50分)

  • 主题发起人 主题发起人 sxbug
  • 开始时间 开始时间
S

sxbug

Unregistered / Unconfirmed
GUEST, unregistred user!
3层结构(DCOM)中,客户端active后可以看到数据已经送来了,可现在我
想知道在中间层的query里面的sql语句是什么,有什么办法实现?
我客户端是通过一个中间层的方法调用来获得数据的,
也就是说:所有的sql语句都在中间层里面。
CDS的commandtext=''。
???
 
顺便请教:在普通程序中,如何通过一个控件的name信息
来找到这个控件,读出信息来!
如:已知一个query的name是mytempQry这是string属性,
现在我想实现:myStr:=mytempQry.sql;
这要如何实现?
 
用数据模块的FindComponent()方法
 
在中间层tlb中定义一个接口及接口函数,传人TDataSetProvider的name,根据name找出对应的
TDataSetProvider.dataset.sql并返回。
客户端调用中间层的这个函数即可。
 
麻烦2位写几句代码如何?
我做了一个这样的中间层 函数:
getsql(mysqlname:wildstring):retval:olevariant
{....
for i:=1 to database1.datasetcountdo
begin
if database1.datasets.name=mysqlname then
begin
result:=Tquery(database1.datasets).sql.text;
break;
end;

end;
}
不知道行不行?:)
 
...
result:= TDataSetProvider(FindComponent(DSPName)).dataset.sql;
...
 
后退
顶部