菜鸟二问:
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)ASif exists(select hospid  from content where HospId=@hospid) 
 returninsert  into  content  (Hospid, PntId, PntName)  values( @hospid, @PntId, @PntName)
GO还有在查询分析器里执行存储过程AppendSickMan时:
execute AppendSickMan '123','456','张天师' 
结果正确,可通过客户端执行时,结果表里'张天师' 变成了'张' ,'天师'丢失了,为什么???只要大家愿意回答,分不够您说话!请问