關於Table及DBGrid的資料查詢... |
尚未結案
|
wilence
一般會員 發表:22 回覆:23 積分:9 註冊:2004-05-19 發送簡訊給我 |
我現在所做的是一個通訊錄,姓名的欄位是U_NAME,而資料庫是用內建的Database Desktop,
1. 假設Edit打"林",有什麼方式可以使DBGrid顯示所有姓林的同學呢?
2. 以下是source code,若有三個姓林的同學,用Locate方式,似乎指標只能
指向第一個姓林的同學,有何方式可以再Next,換下一位姓林的同學? TLocateOptions Opts;
Table1->Open();
Opts.Clear();
Opts << loPartialKey;
Table1->Locate("U_NAME",Edit1->Text,Opts); 不好意思,第一次使用,較沒經驗,請多包涵 ^^"
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi wilence, 用 Filter 屬性試試
procedure TForm1.Button2Click(Sender: TObject); begin Query1.Filtered := False; Query1.Filter := 'Name = ' Quotedstr(Edit1.Text '*') ; Query1.Filtered := True; Query1.First; while not Query1.Eof do begin showmessage(Query1.FieldByName('name').AsString); Query1.Next; end; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
wilence
一般會員 發表:22 回覆:23 積分:9 註冊:2004-05-19 發送簡訊給我 |
非常感謝您的回答
改了一下程式,如下 Query1->Filtered=false;
Query1->Filter='U_NAME=' Quotedstr(Edit1->Text '*') ; <==皆此行error
Query1->Filtered = true;
Query1->First();
while(!Query1->Eof)
{
Query1->Next();
} 執行後會出現
Error: Character constant must be one or two characters long
Error: Call to undefine 'Quotedstr' 不好意思,Quotedstr沒使用過,所以針對這個我較沒經驗
Quotedstr不是轉換的嗎,該怎麼定義、及所謂的須一或兩個的字元長度問題?
真的很感謝您..
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi wilence, 改為
Query1->Filter=('U_NAME='''+Edit1.Text+'*'+'''');
或是
Query1->Filter=('U_NAME='+ #39 + Edit1.Text + '*' +#39); QuotedStr 函數在 Delphi 中的說明如下:
QuotedStr function Returns the quoted version of a string. Description Use QuotedStr to convert the string S to a quoted string. A single quote character (') is inserted at the beginning and end of S, and each single quote character in the string is repeated. Note: When working with multi-byte character systems (MBCS), use AnsiQuotedStr instead. 你可以找一個相似的功能來作,或是直接用上述方法試試
----------------------------------
小弟才疏學淺,若有謬誤尚請不吝指教
----------------------------------
------
Fishman |
wilence
一般會員 發表:22 回覆:23 積分:9 註冊:2004-05-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |