如何將一連串控制宇元或不可見字元存到SQL Server的CHAR欄位 |
尚未結案
|
marlon_wu
一般會員 發表:5 回覆:6 積分:2 註冊:2002-09-20 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 我想將50個Byte值以Chr(Byte)存到SQL Server的CHAR(50)欄位中, 讀出後可以將CHAR(50)還原成正確的50個Byte值, 直接讓 DataSet.Fields[].AsString:=這50個字元, 透過BDE的存檔後會產生不可預期的錯誤, 如50個字元都是Chr(136)時, 存到SQL Server時只剩25個字元, 有時會產生 ' 字元造成SQL語法錯誤, 要如何做才能正確的將字元集存檔?marlon_wu 你好 一般遇到這種情形,解決的方法,我都是用ParamByName的方式如下 // 產生要存入的資料變數 vField := '' ; For i:=1 To 50 Do Begin vField := vField+#136 ; End; With Query1 Do Begin Close; SQL.Text := 'Update TableName Set Field1=:vField1 Wher ....' ; ParamByName('vField1').AsString := vField; ExecSQL; // 寫入資料庫 End; |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
marlon_wu
一般會員 發表:5 回覆:6 積分:2 註冊:2002-09-20 發送簡訊給我 |
Thank you! But it doesn't work.
My trial:
procedure TForm1.Button4Click(Sender: TObject);
var i: integer;
s: string;
begin
s:='';
for i:=1 to 50 do
s:=s Chr(136);
With qSave do
begin
Close;
ParamByName('pvstr').AsString := s;
ParamByName('role_id').AsString:= Query1.FieldByName('role_id').AsString;
ExecSQL;
end;
end; procedure TForm1.Button5Click(Sender: TObject);
var i: integer;
s: string;
begin
s:='';
for i:= 1 to Length(Query1.FieldByName('privileged').AsString) do
s:=s IntToStr(Ord(Query1.FieldByName('privileged').AsString[i]));
Edit1.Text:=s;
end; Edit1.Text=63..63(25 Sets) i.e. Text=#63..#63 (Length=25) SQL Monitor: SQL Prepare: MSSQL - UPDATE role
SET privileged=:1
WHERE role_id = :2 SQL Data In: MSSQL - Param = 1, Name = , Type = fldZSTRING, Precision = 50, Scale = 0, Data = ?????????????????????????
<< Data = ? x 25 >>
|
marlon_wu
一般會員 發表:5 回覆:6 積分:2 註冊:2002-09-20 發送簡訊給我 |
>> 用 Binary(50) 不是比較恰當 ?
Yes! Thank you!
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
v: Variant;
begin
V := VarArrayCreate([0, 49], VarByte);
for i:=0 to 49 do
v[i]:=136;
Query1.FieldByName('privileged').AsVariant:=v;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |