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

無法抓取sql server型態為nvarchar的欄位

答題得分者是:chih_kuan
chi120
一般會員


發表:16
回覆:16
積分:6
註冊:2007-08-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-19 11:26:47 IP:61.221.xxx.xxx 訂閱
如題,用delphi Query或Table元件
都抓取不到sql server 型態為nvarchar的欄位
但又不能更改sql server的欄位型態
不知道各位大大是不是有遇過這種情況呢?
------
Aki..就算沒有明天
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-19 12:14:41 IP:218.210.xxx.xxx 訂閱
你是用什麼元件? BDE 的還是 ado ?
無法抓到是指哪邊看不到?

===================引 用 chi120 文 章===================
如題,用delphi Query或Table元件
都抓取不到sql server 型態為nvarchar的欄位
但又不能更改sql server的欄位型態
不知道各位大大是不是有遇過這種情況呢?
------
價值的展現,來自於你用哪一個角度來看待它!!
chi120
一般會員


發表:16
回覆:16
積分:6
註冊:2007-08-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-19 13:36:31 IP:61.221.xxx.xxx 訂閱
careychen你好
我是用BDE來連結資料庫
例如:SQL SERVER 的 TABLE people有三個欄位,分別為A欄位、B欄位、C欄位
它們的資料型態分別為nvarchar(50),numeric(15,5),numeric(15,0)

我select * from people
卻只會抓到B欄位和C欄位
------
Aki..就算沒有明天
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-19 13:57:26 IP:218.210.xxx.xxx 訂閱
真是抱歉,我對 bde 就不熟了,要請其他先進幫你了~~!

===================引 用 chi120 文 章===================
careychen你好
我是用BDE來連結資料庫
例如:SQL SERVER 的 TABLE people有三個欄位,分別為A欄位、B欄位、C欄位
它們的資料型態分別為nvarchar(50),numeric(15,5),numeric(15,0)

我select * from people
卻只會抓到B欄位和C欄位
------
價值的展現,來自於你用哪一個角度來看待它!!
foxelf
初階會員


發表:9
回覆:42
積分:30
註冊:2003-03-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-19 16:38:51 IP:211.78.xxx.xxx 訂閱
我測試過在GRID都可以看的到欄位
請問你是什麼狀況下抓取不到欄位的

===================引 用 chi120 文 章===================
如題,用delphi Query或Table元件
都抓取不到sql server 型態為nvarchar的欄位
但又不能更改sql server的欄位型態
不知道各位大大是不是有遇過這種情況呢?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-09-19 17:38:34 IP:61.67.xxx.xxx 未訂閱
nvarchar 是 unicode 的結構, 在Delphi中是必須指定為 widestring 型態, 一般 string 是不支援的, 我印象中的 TTable 與 TQuery 好像並不支援(BDE的問題), 但實際是否有變通方法, 不知道, 沒有去研究, 建議你改用 ADO 來連結看看
chih_kuan
中階會員


發表:38
回覆:82
積分:54
註冊:2003-02-20

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-09-23 18:17:47 IP:61.59.xxx.xxx 未訂閱
這是BDE 不支援的結果..
解決方式..要嘛.改用 ado
不然..就是給予sql command 時..得像下面的給法

Select cast (NvarcharField as varbinary(100)) From Table.........

NvarcharField =>表示那個 NVarchar 欄位

以上....僅供參考~~

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