查詢問題 |
答題得分者是:tech_state
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
請問各位大大一下:
if(Edit1->Text!=NULL)
{
con=Edit1->Text;
sql= " Select * from 維修單 where 維修單編號 = ";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sql con);
ADOQuery1->Active = true;
}
然後執行,可是他都一直都出現
project APPName.exe raised exception class EOleException with message '無效的資料行名稱'A001'。'.
Process Stop
請問這是什麼問題呢?
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
nieo, 您好
如果Edit1->Text="A001";
請試試以下的方法。
將以下的code ADOQuery1->SQL->Add(sql con); 修改為 ADOQuery1->SQL->Add(sql "'" con "'"); 即將con的內容用單引號('')刮起來如果以上的方法還是有問題,方便的話,請您上傳維修單的table。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
版主大大:這是我的程式碼,請過目:
#include
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
nieo, 您好
請試試以下的方法
將
ADOQuery1->SQL->Add("Select * from 維修單 where 維修單編號 =" + "'" + Edit1->Text + "'");
改為
ADOQuery1->SQL->Add("Select * from 維修單 where 維修單編號 = '"+Edit1->Text+"' "); =================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
nieo, 您好
在字串中加"'"的意思是:加一個單引號('),而前後的雙引號("")是字串的意思。
再來比較一下您與我的SQL語法結果。
您的SQL語法是:
Select * from 維修單 where 維修單編號 = 'Edit1->Text'
我的SQL語法是:(假設Edit1被輸入的是A001)
select * from 維修單 where 維修單編號 = 'A001'
我想這樣的比較結果,您應該可以知道二者的差別了。 =================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |