請教:在Midas中如何處理TEXT BLOB類的字段!?

andykwok 2002-06-28 02:49:47
如題!
...全文
40 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sddlfz 2002-06-29
  • 打赏
  • 举报
回复
我不会,帮你UP
呵呵
andykwok 2002-06-29
  • 打赏
  • 举报
回复
謝謝樓上兩位,大家討論一下吧!因為這方面的資料太少 了﹒!
我想信WEBSERVIC在未來的前景是一片光明的…!
現在不開始就.......
netlib 2002-06-29
  • 打赏
  • 举报
回复
对不起,我对SOAP WEBSERVIC不熟。
andykwok 2002-06-29
  • 打赏
  • 举报
回复
To:mv66_ren(didi[迪迪]) ,
如果你還沒有解決一般字段的處理,你可以參考一下:
http://www.csdn.net/expert/topic/808/808204.xml?temp=1.987857E-02
mv66_ren 2002-06-29
  • 打赏
  • 举报
回复
在三层结构中Applyupdates(-1)有问题,我的也没有解决呢?!
up
manboo 2002-06-28
  • 打赏
  • 举报
回复
IStream可以对在客户端和应用服务器之间传递流!
manboo 2002-06-28
  • 打赏
  • 举报
回复
对不起是读出的问题的,写入您将操作反向执行就行了!
manboo 2002-06-28
  • 打赏
  • 举报
回复
midias中的ClientDataSet配合AppServer是可以自动处理的,你只要使用
ClientDataSet.ApplyUpdate(maxerror)就可以处理这个问题了,如果您是使用的,方法来处理的可以使用IStream来处理流的写入问题,上面的代码是处理流的写入问题的。
andykwok 2002-06-28
  • 打赏
  • 举报
回复
To: netlib(河外孤星)
謝謝!
是的,在SOAP WEBSERVIC中控制權不在我這,除非自己編過程,因為客戶端是調用服務端的IAppServerSoap中的SAS_ApplyUpdates的。
再幫一下忙吧!^&^
andykwok 2002-06-28
  • 打赏
  • 举报
回复
TO:netlib(河外孤星)
謝謝你,在C/S結構中,Text或在DELPHI中ftMemo的字段是比較容易處理的,基本上不用作什麼處理。但在SOAP三層結構中控制權不在客戶端,因為是它是調用服務端的IAppServerSoap(不知道有沒有記錯名稱^&^)接口中的SAS_ApplyUpdates方法,SQL語句是由它來生成的!你認為是這樣嗎?
andykwok 2002-06-28
  • 打赏
  • 举报
回复
TO: manboo(L—横刀--L)
您能告訴我如何在三層結構中處理這個問題嗎?
manboo 2002-06-28
  • 打赏
  • 举报
回复
var
stream:TMemoryStream;
begin
stream:=TMemoryStream.Create;
(query1.FieldByName('img') as TBlobField).savetoStream(Stream);
Memo1.lines.loadFromStream(Stream);
stream.free;

end;
ok!
netlib 2002-06-28
  • 打赏
  • 举报
回复
是这样memo字段的内容是分开的,它是不属于二进制文件的,
这个在三级数据库中怎么处理我就不知道了,
我上面给你写的代码是保存文件和流的,
如果你愿意,建议保存成流,用image类型。
用tstringstream来保存。
andykwok 2002-06-28
  • 打赏
  • 举报
回复
把),@P5 text改為@P5 varchar(1000)在Sql Analyzer中可以運行。我可以做些什麼操作能幫解決這個問題呢!要做些什麼設定嗎?
謝謝!
andykwok 2002-06-28
  • 打赏
  • 举报
回复
謝謝你的回復!^&^
我把我遇到的問題說清楚一點!
我在研究SOAP(但我比較菜!)
是一個SOAP WebService,其中有一個表,表中有一個Memo字段。
注:當處理沒Memo字段的時候是沒什麼事,ClientDataSet1.ApplyUpdates(-1)就搞定了。但在服務端數據端數據表中如果有一個Memo字段的時候,ApplyUpdates(-1)時,失敗!

查看Profiler(我用的是Sql Server 2000),它走的語言如下:
exec sp_executesql N'insert into model
(c_id, formName, c_pid, name, memo)
values
(@P1, @P2, @P3, @P4, @P5)
', N'@P1 int,@P2 varchar(50),@P3 int,@P4 varchar(50),@P5 text', 10, '10', 90, '1000', 'asdfasdfasdf'

在SQL Query Analyzer中走相同的語句時,提示以下錯誤:
Code page translations are not supported for the text data type. From: 950 To: 936.
請問我如何能解決這個問題呢!?
netlib 2002-06-28
  • 打赏
  • 举报
回复
把上面的query1换成clientdataset1
clientdataset1.post;
clientdataset1.ApplyUpdates(-1);
netlib 2002-06-28
  • 打赏
  • 举报
回复

二进制字段
保存:
(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');
TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);
取出:
(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');
Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image')));

1,593

社区成员

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

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