BCB6 sql語法 select 欄位 as 更名成WideString |
答題得分者是:aftcast
|
ttnnrsseb
中階會員 發表:31 回覆:77 積分:51 註冊:2004-11-22 發送簡訊給我 |
請教各位先進,
我用BCB6的ADOQuery,要利用Select 欄位 as 新欄名(WideString) from Table 因為ADOQuery->SQL->Add(AnsiString),所以想利用參數的方式, WideString WStr = WideString("XXX"); ADOQuery->Parameters->CreateParameter("WStr",ftWideString,pdInput,100,WStr);
結果 "select 欄位 as :WStr from Table" 會錯誤! 請問 as之後是不是不能接參數? 如果我要更改成WideString的名稱,有什麼其它方式嗎? 謝謝 |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
SELECT區塊是不能用參數的
資料庫的格式是建資料庫時就定義好的,所以就算DELPHI存的不是UNICODE,寫進去也會被轉成UNICODE 以上 ===================引 用 ttnnrsseb 文 章=================== 請教各位先進, 我用BCB6的ADOQuery,要利用Select 欄位 as 新欄名(WideString)from Table 因為ADOQuery->SQL->Add(AnsiString),所以想利用參數的方式, WideString WStr = WideString("XXX"); ADOQuery->Parameters->CreateParameter("WStr",ftWideString,pdInput,100,WStr);
結果 "select 欄位 as :WStr from Table" 會錯誤! 請問 as之後是不是不能接參數? 如果我要更改成WideString的名稱,有什麼其它方式嗎? 謝謝 |
ttnnrsseb
中階會員 發表:31 回覆:77 積分:51 註冊:2004-11-22 發送簡訊給我 |
感謝您的回覆,
我要改的是欄位名的顯示,因為設計資料庫時會用英文先設欄位名。 但我要輸出成excel時,需將欄位名改成不同語系的顯示。 我改用ADOCommand是可以正常執行了,不過我要改的欄位名還是錯亂了! WideString ws = WideString("select S_ID as [" TntMemo1->Lines->Strings[0] "], " "S_Name as [" TntMemo1->Lines->Strings[1] "], " "V as [" TntMemo1->Lines->Strings[2] "] into [Sheet1] in 'E:\\bar.xls' 'Excel 8.0;' from T_OLD"); ADOCommand1->CommandText = ws; ADOCommand1->Execute(); |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
還是要再次申名一次: ADOQUERY,這個元件在2009版以前,都是無法處理unicode的問題的!
所以bcb6還是請用adodataset或是adocommand來處理才是正確的! 你的問題推斷是你這行寫錯: WideString ws = WideString("select S_ID as [" TntMemo1->Lines->Strings[0] "], " "S_Name as [" TntMemo1->Lines->Strings[1] "], " "V as [" TntMemo1->Lines->Strings[2] "] into [Sheet1] in 'E:\\bar.xls' 'Excel 8.0;' from T_OLD"); 請改成 WideString ws = WideString("select S_ID as [") TntMemo1->Lines->Strings[0] WideString("], ") WideString("S_Name as [") TntMemo1->Lines->Strings[1] WideString("], ") WideString( "V as [") TntMemo1->Lines->Strings[2] WideString( "] into [Sheet1] in 'E:\\bar.xls' 'Excel 8.0;' from T_OLD"); 試看看
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2011-06-25 09:54:15, 註解 無‧
|
ttnnrsseb
中階會員 發表:31 回覆:77 積分:51 註冊:2004-11-22 發送簡訊給我 |
|
ttnnrsseb
中階會員 發表:31 回覆:77 積分:51 註冊:2004-11-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |