線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1281
推到 Plurk!
推到 Facebook!

新問題?如何從程序里傳送一個Binary變量給存儲過程中的Binary參數?

答題得分者是:Mickey
longjibo
一般會員


發表:18
回覆:18
積分:12
註冊:2002-11-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-28 07:40:54 IP:218.16.xxx.xxx 未訂閱
有一存儲過程如下: CREATE procedure sp_MSupd_BUYER @c1 char (10) ,@c2 char (30) ,@c3 char (15) ,@c4 char (4) ,@c5 char (10) ,@c6 char (10) ,@c7 numeric (2, 0),@pkc1 char (10),@bitmap binary(1) as if substring(@bitmap,1,1) & 1 = 1 update BUYER set BUYER = case substring(@bitmap,1,1) & 1 when 1 then @c1 else BUYER end ,BUYER_NAME = case substring(@bitmap,1,1) & 2 when 2 then @c2 else BUYER_NAME end ,PHONE = case substring(@bitmap,1,1) & 4 when 4 then @c3 else PHONE end ,COMP_CODE = case substring(@bitmap,1,1) & 8 when 8 then @c4 else COMP_CODE end ,ZUSER = case substring(@bitmap,1,1) & 16 when 16 then @c5 else ZUSER end ,COUNTRY = case substring(@bitmap,1,1) & 32 when 32 then @c6 else COUNTRY end ,REPLSVR = case substring(@bitmap,1,1) & 64 when 64 then @c7 else REPLSVR end where BUYER = @pkc1 else update BUYER set BUYER = case substring(@bitmap,1,1) & 1 when 1 then @c1 else BUYER end ,BUYER_NAME = case substring(@bitmap,1,1) & 2 when 2 then @c2 else BUYER_NAME end ,PHONE = case substring(@bitmap,1,1) & 4 when 4 then @c3 else PHONE end ,COMP_CODE = case substring(@bitmap,1,1) & 8 when 8 then @c4 else COMP_CODE end ,ZUSER = case substring(@bitmap,1,1) & 16 when 16 then @c5 else ZUSER end ,COUNTRY = case substring(@bitmap,1,1) & 32 when 32 then @c6 else COUNTRY end ,REPLSVR = case substring(@bitmap,1,1) & 64 when 64 then @c7 else REPLSVR end where BUYER = @pkc1 ================================ 通過比較字段是否被修改來在SERVER端對相應的資料表進行修改。 但無法將程序中的BINARY變量直接賦給存儲過程的參數@BITMAP上。 請教各位先進,有無解決辦法? 在DELHPI6中進行編譯時, 針對存儲過程parameters.ParamByName('@bitmap').value值是variant類型 而我的BINARY變量是BINARY類型。無法直接賦值。
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-17 08:41:12 IP:61.219.xxx.xxx 未訂閱
Assume your environment is MSSQL using Delphi TStoredproc to connect Database Store Procedure with StoredProc1 do begin ... params.ParamByName('@bitmap').DataType := ftBytes; params.ParamByName('@bitmap').ParamType := ptInput; params.ParamByName('@bitmap').AsBlob :='1'; ... Open; end; 發表人 - Mickey 於 2002/12/17 08:42:41
系統時間:2024-07-03 10:27:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!