線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1152
推到 Plurk!
推到 Facebook!

查詢問題

答題得分者是:tech_state
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-10 00:31:36 IP:210.68.xxx.xxx 未訂閱
請問各位大大一下: 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-10 01:09:53 IP:203.204.xxx.xxx 未訂閱
nieo, 您好 如果Edit1->Text="A001"; 請試試以下的方法。  
將以下的code
ADOQuery1->SQL->Add(sql con);
修改為
ADOQuery1->SQL->Add(sql "'" con "'");
即將con的內容用單引號('')刮起來
 
如果以上的方法還是有問題,方便的話,請您上傳維修單的table。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-10 01:29:29 IP:210.68.xxx.xxx 未訂閱
版主大大: 我照您說的打,可是程式卻出現錯誤說invalid pointer addition! 這是因為什麼原因呢?
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-10 01:32:51 IP:203.204.xxx.xxx 未訂閱
nieo, 您好 可否將您的code貼上來呢? 或許有地方您誤會我的意思了。    ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-10 01:39:53 IP:210.68.xxx.xxx 未訂閱
版主大大:這是我的程式碼,請過目: #include  #pragma hdrstop #include "RPS.h" #include "RPDEdit.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TRPS *RPS; //--------------------------------------------------------------------------- __fastcall TRPS::TRPS(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TRPS::BitBtn3Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TRPS::BitBtn2Click(TObject *Sender) { RPDEdit=new TRPDEdit(Application); } //--------------------------------------------------------------------------- void __fastcall TRPS::FormClose(TObject *Sender, TCloseAction &Action) { Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TRPS::BitBtn1Click(TObject *Sender) { ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("Select * from 維修單 where 維修單編號 =" "'" Edit1->Text "'"); ADOQuery1->Active = true; } 感謝!!
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-10 01:44:55 IP:203.204.xxx.xxx 未訂閱
nieo, 您好 請試試以下的方法 將 ADOQuery1->SQL->Add("Select * from 維修單 where 維修單編號 =" + "'" + Edit1->Text + "'"); 改為 ADOQuery1->SQL->Add("Select * from 維修單 where 維修單編號 = '"+Edit1->Text+"' ");    ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-10 01:49:48 IP:210.68.xxx.xxx 未訂閱
謝謝版主大大,問題已經解決了! 不過在麻煩大大一下: 為什麼還要再加上"'"呢? 還有為什麼改成大大寫的那樣就不會有
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-10 01:58:45 IP:203.204.xxx.xxx 未訂閱
nieo, 您好 在字串中加"'"的意思是:加一個單引號('),而前後的雙引號("")是字串的意思。 再來比較一下您與我的SQL語法結果。 您的SQL語法是: Select * from 維修單 where 維修單編號 = 'Edit1->Text' 我的SQL語法是:(假設Edit1被輸入的是A001) select * from 維修單 where 維修單編號 = 'A001'  我想這樣的比較結果,您應該可以知道二者的差別了。    ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
nieo
一般會員


發表:32
回覆:56
積分:17
註冊:2003-07-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-10 02:03:52 IP:210.68.xxx.xxx 未訂閱
感謝萬分!! 謝謝大大的解答!!
系統時間:2024-04-23 22:12:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!