W
whhzkl
Unregistered / Unconfirmed
GUEST, unregistred user!
菜鸟二问:
1 我在同一台电脑(win2000+d6+midas+sql2000)上开发三层结构时,运行正常,可我将客户端移到另一台98机上时,运行也正常,但当涉及到调用远程模块的方法时,就提示‘服务器运行失败’
详情请见:
http://expert.csdn.net/Expert/topic/2949/2949459.xml?temp=.5817835
由于还没有解决,但时间紧,可我又不愿放弃三层结构, 我决定先将应用程序服务器的方法暂时放到数据库的存储过程中,中间层只起到一个数据模块的作用,不知我的想法是否可行,由此就产生了第二个问题:
2 我在中间层的远程模块里加入了一个AdoStoredProc1+DataSetProvider1, 在客户端的数据模块中加入了TClientDataSet+TDataSource ,在客户端执行以下代码:
Dm.CDSSP_AppendSickMan.Close;
Dm.CDSSP_AppendSickMan.Params[0].AsString := Hospid;
Dm.CDSSP_AppendSickMan.Params[1].AsString := Pntid;
Dm.CDSSP_AppendSickMan.Params[2].AsString := PntName;
Dm.CDSSP_AppendSickMan.FetchParams;
Dm.CDSSP_AppendSickMan.Execute;
Dm.CDSSP_AppendSickMan.Active;
结果第一次执行时有效,可第二次执行时,服务器端执行的还是第一次的参数,就是说客户端的参数没有送到服务器端,为什么???
存储过程:
CREATE PROCEDURE AppendSickMan /* AppendSickMan 先在Content等表里面查找是否有此病人的记录,如无,则添加;*/
@hospid char(12),
@pntid char(8),
@pntname char(8)
AS
if exists(select hospid from content where HospId=@hospid)
return
insert into content (Hospid, PntId, PntName) values( @hospid, @PntId, @PntName)
GO
还有在查询分析器里执行存储过程AppendSickMan时:
execute AppendSickMan '123','456','张天师'
结果正确,
可通过客户端执行时,结果表里'张天师' 变成了'张' ,'天师'丢失了,为什么???
只要大家愿意回答,分不够您说话!
请问
1 我在同一台电脑(win2000+d6+midas+sql2000)上开发三层结构时,运行正常,可我将客户端移到另一台98机上时,运行也正常,但当涉及到调用远程模块的方法时,就提示‘服务器运行失败’
详情请见:
http://expert.csdn.net/Expert/topic/2949/2949459.xml?temp=.5817835
由于还没有解决,但时间紧,可我又不愿放弃三层结构, 我决定先将应用程序服务器的方法暂时放到数据库的存储过程中,中间层只起到一个数据模块的作用,不知我的想法是否可行,由此就产生了第二个问题:
2 我在中间层的远程模块里加入了一个AdoStoredProc1+DataSetProvider1, 在客户端的数据模块中加入了TClientDataSet+TDataSource ,在客户端执行以下代码:
Dm.CDSSP_AppendSickMan.Close;
Dm.CDSSP_AppendSickMan.Params[0].AsString := Hospid;
Dm.CDSSP_AppendSickMan.Params[1].AsString := Pntid;
Dm.CDSSP_AppendSickMan.Params[2].AsString := PntName;
Dm.CDSSP_AppendSickMan.FetchParams;
Dm.CDSSP_AppendSickMan.Execute;
Dm.CDSSP_AppendSickMan.Active;
结果第一次执行时有效,可第二次执行时,服务器端执行的还是第一次的参数,就是说客户端的参数没有送到服务器端,为什么???
存储过程:
CREATE PROCEDURE AppendSickMan /* AppendSickMan 先在Content等表里面查找是否有此病人的记录,如无,则添加;*/
@hospid char(12),
@pntid char(8),
@pntname char(8)
AS
if exists(select hospid from content where HospId=@hospid)
return
insert into content (Hospid, PntId, PntName) values( @hospid, @PntId, @PntName)
GO
还有在查询分析器里执行存储过程AppendSickMan时:
execute AppendSickMan '123','456','张天师'
结果正确,
可通过客户端执行时,结果表里'张天师' 变成了'张' ,'天师'丢失了,为什么???
只要大家愿意回答,分不够您说话!
请问