當我使用ADOQuery對資料庫下指令時為何會出現 |
尚未結案
|
yuvon
一般會員 發表:13 回覆:14 積分:5 註冊:2003-09-02 發送簡訊給我 |
void __fastcall TDBapplication::Button4Click(TObject *Sender)
{
String musqla,musqlb;
musqla="select * from ";
musqlb="order by ";
ADOQuery1->Active= false; ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(musqla+Edit2->Text+musqlb+ComboBox1->Text);
^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^
//Edit2->Text 用來指定哪一各料表
//ComboBox1->Text 用來指定排序的原則
ADOQuery1->Active=true;
}
我覺得該有的地方都注意到了 可是還是怪怪的
會出現下列的訊息
旦旦它說 miss connectionstring 我也有設定阿
我也沒有漏掉.....真的是很其怪
希望各位前輩幫我解決一下疑惑吧'
謝謝
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
yuvon, 您好
這個錯誤訊息指的是您的ADOQuery1的Connection或ConnectionString這二個屬性沒有設定。
(此二屬性擇一設定即可)
為什麼要設定這二個屬性呢?
ADOQuery1就是要透過這二個屬性才能得知──
您要連結什麼資料庫。 如果您還是不了解的話,
請您自行查閱有關那二個屬性的Help檔說明。 =================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
yuvon
一般會員 發表:13 回覆:14 積分:5 註冊:2003-09-02 發送簡訊給我 |
|
yuvon
一般會員 發表:13 回覆:14 積分:5 註冊:2003-09-02 發送簡訊給我 |
關於這個問題我已經找到解答了 有一個小地方 提供給大家
稍微注意一下 雖不算是 什麼了不起的寫作技巧
不在在解決問題的過程中讓我吃了不少苦頭 就是 再把指令 串接成一個新的指令時
要小心中間的的""空白處""
也救是說 舉例如下 :
select * from table order by price
但是再串接指令時
如果是
AnsiString sqla,sqlb;
sqla="select * from ";
sqlb=" order by "; ----(*)
DOQuery1->SQL->Add(sqla Edit1->Text sqlb Edit4->Text); 在(*)這行中 會有一個情形 就是
" order by "會不小心寫成
"order by "
會差一個空白 這樣就會造成 SQL 語法的 Syntax error
雖然簡單但是長常會不小心被忽略
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |