oracle 資料型態為long 顯示問題 |
答題得分者是:P.D.
|
viya
一般會員 發表:16 回覆:19 積分:7 註冊:2008-09-16 發送簡訊給我 |
各位好:
我想將oracle 資料庫中,透過DBGRID顯示. 利用版上前輩所提供的方式,如下 [code delphi] procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); var P: array[0..50] of char; {array size is number of characters needed} bs: TStream; {from the memo field} hStr: string; begin if Field is TMemoField then //若欄位屬TMemoField則處理 begin with (Sender as TDBGrid).Canvas do begin //由資料庫欄位裡讀出資料至TStream bs :=Query1.CreateBlobStream(Field, bmRead); FillChar(P, SizeOf(P), #0); {terminate the null string} bs.Read(P, 50); {read 50 chars from memo into blobStream} bs.Free; hStr := StrPas(P); //PChar -->String //處理#13#10 讓多行文字取代為空白 while Pos(#13, hStr) > 0 do {remove carriage returns and} hStr[Pos(#13, hStr)] := ' '; while Pos(#10, hStr) > 0 do {line feeds} hStr[Pos(#10, hStr)] := ' '; FillRect(Rect); {clear the cell} TextOut(Rect.Left, Rect.Top, hStr);//畫出文字 end; end; end;[/code] 資料讀出來,卻不是原來的結果.(原本資料為一串中文字) {\rtf1\ansi\ansicpg950\deff0\deflang1033\deflangfe1028{\fonttbl{\f0\fswiss\fprq2\fcharset136 Arial;}} {\colortbl ;\red0\green0\blue0;} 搜尋文章,發現這些為rtf檔格式的設定. 請問 1.我該怎麼處理,才能讓中文字顯示在dbgrid或是memo上?? 2.可以透過sql語法直接轉換嗎?? 以上.謝謝各位. |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
fivker
一般會員 發表:24 回覆:38 積分:12 註冊:2006-12-05 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
1.為什麼發問與回帖兩組帳號不同人?
2.如果是Delphi提供的DBgrid, 那你必須自己去改寫, 否則考慮用第三方控件 www.tmssoftware.com 因為你要的是 rtf 有包含所有內容的設定, 是不是command 可以直接轉, 說真的, 沒有研究 ===================引 用 fivker 文 章=================== 非常感謝pd前輩的說明,我測了TRichEdit, 原來是未將PlainText改成False造成. 已可看到正確的資料. 想再請教: 1.可否在dbgrid上顯示 2.或透過sql command直接轉換 (資料庫為 oracle ) ===================引 用 P.D. 文 章=================== rtf 資料透過 TRichEdit 可以完整顯示 |
viya
一般會員 發表:16 回覆:19 積分:7 註冊:2008-09-16 發送簡訊給我 |
感謝您:
1.早上無法登入,故先借用他人的帳號回覆。 (順帶一提,發文的時間竟然晚於修文的時間,怪怪的 :p) 2.我大概搜尋了網路上的用法,好像也沒有提供sql command轉換. 目前只能先透過richtext元件。再次感謝PD前輩指教。 ===================引 用 P.D. 文 章=================== 1.為什麼發問與回帖兩組帳號不同人? 2.如果是Delphi提供的DBgrid, 那你必須自己去改寫, 否則考慮用第三方控件 www.tmssoftware.com 因為你要的是 rtf 有包含所有內容的設定, 是不是command 可以直接轉, 說真的, 沒有研究 ===================引 用 fivker 文 章=================== 非常感謝pd前輩的說明,我測了TRichEdit, 原來是未將PlainText改成False造成. 已可看到正確的資料. 想再請教: 1.可否在dbgrid上顯示 2.或透過sql command直接轉換 (資料庫為 oracle ) ===================引 用 P.D. 文 章=================== rtf 資料透過 TRichEdit 可以完整顯示 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |