Win2000 server+access在用MIDAS开发三层程序,中间层用Ado Query 连接到access的数据库的大侠请进! (100分)

  • 主题发起人 主题发起人 chen___ye
  • 开始时间 开始时间
C

chen___ye

Unregistered / Unconfirmed
GUEST, unregistred user!
Win2000 server+access在用MIDAS开发三层程序时
中间层用Ado Query 连接到access的数据库
Query的SQL='select * from 病人资料'
客户端用Dcomconnection
执行以下语句时
ClientDataSet1.Close;
ClientDataSet1.CommandText:='select * from 病人资料';
ClientDataSet1.Open;
就会有"Cannot perform this operation on an open dataset"的错误
这是怎么回事?
我的配置如下:
服务器:
object DataSetProviderCustomer: TDataSetProvider
DataSet = ADOQuery1
Constraints = True
Options = [poAllowCommandText]
end
object ADOQuery1: TADOQuery
CursorType = ctStatic
Parameters = <>
SQL.Strings = ('select * from 病人资料')
connectionstring = '......'
active:=true;
end
 
什么意思啊
 
我想你对应用服务器理解有误
我的配置如下:
服务器:
object DataSetProviderCustomer: TDataSetProvider
DataSet = ADOQuery1
Constraints = True
Options = [poAllowCommandText]
end
object ADOQuery1: TADOQuery
CursorType = ctStatic
Parameters = <>
SQL.Strings = ('select * from 病人资料')
connectionstring = '......'
active:=true;
end
-------------------
服务程序中是不需要打开结果集的,当然,除了你是要在服务程序中操作数据库。
 
to gmc001:
那我应当怎么改呢?
 
谢谢gmc001,我把active设为false就可以了,是这样吧?
另外,我想问一下,当服务服务程序断开时,客户端如何得到消息,
并防止产生运行错误信息?
 
当服务服务程序断开时,客户端如何得到消息?
不好意思,这个我也不清楚了
但是,并防止产生运行错误信息,却可以用例外处理的。
我就是这样做的。
 
能告诉我怎样处理么?
 
你要把ADOQUERY 的SQL.STRING='' 还要把其active 设为false!
 
多人接受答案了。
 
后退
顶部