如何解決這個錯誤訊息? |
尚未結案
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
各位先進好! 資料庫: Sybase Adaptive Server Anywhere 6.0
料連接元件: Query(ODBC)
Delphi Version: Delphi5 Q:執行下面程式時,出現錯誤訊息:'Could not find Object' ,原因好像出在 '+Combobox1‧Text+',但不知如何解決?
Code如下:
procedure TForm1.ExecuteSQL(Query:TQuery;SQLCommand:String); begin Query.Close; Query.SQL.Clear; Query.SQL.Add(SQLCommand); Query.Open; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key=#13) and (Combobox1.Text<>'') then begin ExecuteSQL(Query1,'Select * from Table1 where ' Combobox1.Text ' like ''%' Edit1.Text '%'' '); end; end; |
kensoong
初階會員 發表:31 回覆:70 積分:45 註冊:2003-05-28 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
mathewzhao 你好:
問題是出在
ExecuteSQL(Query1,'Select * from Table1 where '+Combobox1.Text+' like ''%' Edit1.Text '%'' ');
紅色的部分
因為單引號在程式定義成 2 個單引號中間為字串
因此你要在sql中產生 '% 查詢值 %'
請參考
ExecuteSQL(Query1,'Select * from Table1 where ' Combobox1.Text ' like ' QuotedStr(''%' Edit1.Text '%'));
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
'Could not find Object' 看起來是 sql 中的欄位不在資料表或資料表不在資料庫中的現象. 請先直接 show 出該 sql command 確認一下, 下面是多寫了存成檔案, 以方便 check 的處理:
procedure TForm1.ExecuteSQL(Query:TQuery;SQLCommand:String); var strs: TStringList; begin Query.Close; Query.SQL.Clear; Query.SQL.Add(SQLCommand); ShowMessage(SQLCommand); try Query.Open; except strs := TStringList.Create; strs.Text := SQLCommand; strs.SaveToFile('c:\errSql.txt'); strs.Free; end; end; |
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
感謝各位前輩的熱心指點!
1)感謝kensoong前輩的指點!
希望大家共同進步! 2)感謝ko前輩的指點! 問題應該不是出在前輩所指的紅色部分,因為用timhuang前輩提供的方法檢查發現SQL是正確的:
Select * from talbe1 where field1 like '3%' 3)感謝timhuang 前輩的指點! 程式修改後,然後執行發現:ShowMessage(SQLCommand)和C:\errSql.txt中的sql command都是正確的. 但用SQL Monitor查看時發現:
SQL Prepare時不正確,沒有 where 部分. 另外:用google查找這個錯誤訊息時,在這個URL提到可能需修改registry,但沒有說清楚具體位置:
http://www.elists.org/pipermail/delphi-db/1999-October/000543.html
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |