做三层结构时前端传中文字时被丢掉,不知道什么原因?

ggltechggl 2004-09-27 09:09:48
我用delphi作三层结构时,用edit1.text框传递数值给存储过程保存时,传中文时都要被丢掉一半。如我给edti1.text赋值’显示目录’,但存到数据库时是’显示’,’目录’2个字被丢掉了,在传到中间层时还是完整的,好象是由中间层传到数据库时被丢掉的。
请问各位大虾是什么原因?传英文就没问题。

我以前做的都是使用Tdbedit,Tdatasoure來連接數據源,通過ClientDateSet1.ApplyUpdate(0)來保存就沒有這個問題。我現在是用edit1.text 的值傳到後端存儲過程就有這個問題。
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggltechggl 2004-10-04
  • 打赏
  • 举报
回复
問題已解覺,替換原來的DCU文件
ggltechggl 2004-10-04
  • 打赏
  • 举报
回复
刚从GOOGLE搜索到
http://www.588188.com/netbook/tech/delphi/html/delphi.ohchina.155.htm這裡也有這個問題。

我按照裡面的意思做了,還是不行。我是用Remotedate.
zdq801104 2004-09-27
  • 打赏
  • 举报
回复
我一般这样写
定义方法的数据操作
应用程序服务器的操作
procedure Ttestapp.mm(UserName,PassWord);
begin
ADODataSet1.Close;
ADODataSet1.CommandText:='select Legal_power from UserManage where UserName='''+UserName+''' and PassWord='''+PassWord+'''';
ADODataSet1.Open;
end;

客户端调用:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
UserName:=edit1.text;
PassWord:=edit2.text;
DataModule2.APPS.mm(UserName,PassWord);
ClientDataSet1.close;
DataModule2.ClientDataSet1.Open;
//剩下的就是你对返回数据集的处理了
end;
zdq801104 2004-09-27
  • 打赏
  • 举报
回复
如果没有必要连接到INTEGERT上去的话,建议用DCOM,SOCK经常丢失数据包的,很不稳定

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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