全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1056
推到 Plurk!
推到 Facebook!

於oracle9i中放入Unicode

 
fred_lien
一般會員


發表:1
回覆:1
積分:0
註冊:2004-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-11 15:11:50 IP:61.222.xxx.xxx 訂閱
在此請問一下因為最近需要將歐洲字元塞入Oracle9i的資料庫,我已將其欄位設為,已符合模式,在中也使用了有支援元件,資料庫方面也用來連接,仍然結果是失敗的,不知還有那邊沒考慮到,請告知我努力方向?在此不甚感激您的協助,謝謝
borland_delphi70
中階會員


發表:8
回覆:50
積分:51
註冊:2002-12-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-11 23:29:23 IP:220.132.xxx.xxx 未訂閱

Query.ParamCheck:=False;

重要.... delphi bug

因為他所呼叫的 check function 沒有使用 widestring 反而宣告為 string 導致存入之資料變為亂碼。

fred_lien
一般會員


發表:1
回覆:1
積分:0
註冊:2004-03-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-12 10:54:45 IP:61.222.xxx.xxx 訂閱

請問一下,如果使用ParamCheck:=False的話,參數無法使用如下列程式碼所列:

procedure TForm1.Button3Click(Sender: TObject);
var
ws: Widestring;
begin
ws:=TntEdit1.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.ParamCheck:=False;
ADOQuery1.SQL.Text := 'UPDATE c_emp_desc_t set emp_name2=:UEMP where emp_no=''9120475'' ';
//ADOQuery1.SQL.Text := 'update c_emp_desc_t set emp_name2=''' ws ''' where emp_no=''9120475'' ';
//ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text, true);
MessageBoxW(Handle, PWideChar(ws), 'read WideString', MB_OK);
ADOQuery1.Parameters.ParamByName('UEMP').DataType:=ftWideString;
ADOQuery1.Parameters.ParamByName('UEMP').Value :=ws ;
ADOQuery1.ExecSQL;
end;

但如修改成不使用參數,程式可執行但仍無將字串(äää)塞入

procedure TForm1.Button3Click(Sender: TObject);
var
ws: Widestring;
begin
ws:=TntEdit1.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.ParamCheck:=False;
//ADOQuery1.SQL.Text := 'UPDATE c_emp_desc_t set emp_name2=:UEMP where emp_no=''9120475'' ';
ADOQuery1.SQL.Text := 'update c_emp_desc_t set emp_name2=''' ws ''' where emp_no=''9120475'' ';
ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text, true);
MessageBoxW(Handle, PWideChar(ws), 'read WideString', MB_OK);
//ADOQuery1.Parameters.ParamByName('UEMP').DataType:=ftWideString;
//ADOQuery1.Parameters.ParamByName('UEMP').Value :=ws ;
ADOQuery1.ExecSQL;
end;

系統時間:2024-05-19 4:18:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!