新問題?如何從程序里傳送一個Binary變量給存儲過程中的Binary參數? |
答題得分者是:Mickey
|
longjibo
一般會員 ![]() ![]() 發表:18 回覆:18 積分:12 註冊:2002-11-08 發送簡訊給我 |
有一存儲過程如下:
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 發送簡訊給我 |
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
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |