如何传递sql语句(在线等待)

meat 2002-07-30 07:48:25
我在做三层数据时
服务器层用DataSetProvider1、ADOConnection1、ADOQuery1
DataSetProvider1中poAllowCommandText=true

客户层用DCOMConnection1、ClientDataSet1
执行ClientDataSet1->CommandText=m_sqlstr;
提示ADOQuery1已打开

怎样才能解决这个问题,在线等待
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
meat 2002-07-31
  • 打赏
  • 举报
回复
dm->CDataSet->Close();
dm->CDataSet->CommandText=m_psearch;
dm->CDataSet->Open();

关过了呀
lingbin 2002-07-31
  • 打赏
  • 举报
回复
在客户端用ClientDateSet1->DateRepuest(SQL);在服务器端的DataSetProvider1的OnDataRequest事件中写以下代码:
ADOQuery1->Close();
ADOQuery1->SQL->Text = OnDataRequest事件的一个参数,我不记得那个参数了,是第个参数.
ADOQuery1->Open();
就可以了,做得了要加分.
781014 2002-07-31
  • 打赏
  • 举报
回复
ken_henderson 2002-07-31
  • 打赏
  • 举报
回复
ClientDataSet1,Close了吗?
qdxby 2002-07-31
  • 打赏
  • 举报
回复
在客户端执行这种思想不太对吧。
是不是应该程序的SQL操作在应用端执行啊。
TR@SOE 2002-07-31
  • 打赏
  • 举报
回复
不是很清楚啊。三层弄得不多。
meat 2002-07-30
  • 打赏
  • 举报
回复
你理解错了,我是由客户向服务器传sql呀
oyxiaoyu0 2002-07-30
  • 打赏
  • 举报
回复
直接用ADOQuery->sql->add(yoursql)执行就可以了!
前端执行的SQL语句会通过ClientDataSet1被抓取到由BDE控制的DataSet中。
然后在通过DataSetProvider1传递给后端
具体流向是这样的!
ADOConnection1---->DataSetProvider1-->ClientDataSet1->DataSet
其中DataSet可以是ADOQuery也可以是ADOTable了!

qdxby 2002-07-30
  • 打赏
  • 举报
回复
ClientDataSet1->CommandText=m_sqlstr;
我也是这么用的。我这样执行是直接出错。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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