TADOQuery向oracle資料庫中插入特殊字符時,字符出錯:
具體sql陳述句:
INSERT INTO t_Sys_WordLookup(fChineseWord,fEnglishWord,fBrazilWord,fRussiaWord ) VALUES(N'螺栓22',N'Bolt',N'?lzylinder',N'?lzylinder' );
sql陳述句直接在oracle資料庫上執行沒有問題,但通過TADOQuery執行,最后兩個欄位第一個字符變為“?”。
同樣的代碼,鏈接sqlsever資料庫沒有問題,插入資料正確。
求大神指點下,是不是TADOQuery鏈接ORACLE有bug啊。
uj5u.com熱心網友回復:
感覺是Oracle資料庫字符集設定問題,具體不懂。uj5u.com熱心網友回復:
ccrun群里有人有用Oracle,但不知道是不是用ADO組件。uj5u.com熱心網友回復:
INSERT INTO t_Sys_WordLookup(fChineseWord,fEnglishWord,fBrazilWord,fRussiaWord ) VALUES("螺栓22","Bolt","?lzylinder","?lzylinder”);試試呢?
uj5u.com熱心網友回復:
INSERT INTO t_Sys_WordLookup(fChineseWord,fEnglishWord,fBrazilWord,fRussiaWord ) VALUES("螺栓22","Bolt","?lzylinder","?lzylinder”);這種更不行,在ORACLE里執行都不行
uj5u.com熱心網友回復:
這種更不行,在ORACLE里執行都不行
uj5u.com熱心網友回復:
試用下dataexpressuj5u.com熱心網友回復:
ccrun群是qq群?還是微信群?方便說一下群號嗎,想加入交流。
uj5u.com熱心網友回復:
2602062 QQ群uj5u.com熱心網友回復:
我在做SQLITE的時候,也碰到這樣的問題,select帶有特殊符號的欄位名,也報錯,直到我用[]把他們包起來例如 select field as [1#泵電流] from aaa,
如果直接在sql陳述句中寫上 “select field as 1#泵電流 from aaa”就會報錯,因為欄位名不能由數字開頭。。
uj5u.com熱心網友回復:
最后兩個欄位第一個字符變為“?”————————
你是在哪里觀察到字符變為“?”的?如果是在表單的界面控制元件,是不是該控制元件的默認字體不支持顯示該字符?換個字體試試。
uj5u.com熱心網友回復:
不是控制元件中看到的,是除錯看到的
uj5u.com熱心網友回復:
有些函式是不是有多載的帶有TEncoding *引數的版本,試試TEncoding::UTF-8引數。uj5u.com熱心網友回復:
TEncoding::UTF8
uj5u.com熱心網友回復:


復制到記事本,一個ANSI問號,一個UTF-8正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/30813.html
標籤:數據庫及相關技術
上一篇:分布式框架Dubbo
