我試圖過濾delphi上的ado數據庫表。如何使用sql查詢在delphi中的ado數據庫中搜索字段?
我有一個dbgrid連接到查詢(qryData),只要執行此代碼,然後dbgrid變空白,沒有進一步發生。即使我鍵入一個有效的字段名稱,它應該然後顯示它在dbgrid,但它什麼也沒有顯示。我究竟做錯了什麼?
procedure TfrmProjects.cbxColumnsSelect(Sender: TObject);
begin
if edtsearch.Text = '' then
begin
showmessage('The search field should be entered');
exit;
end
else
begin
ssearch:= edtsearch.Text;
showmessage(ssearch);
end;
if cbxColumns.ItemIndex = -1 then
begin
showmessage('Please select a field');
exit;
end
else
begin
scolumn:= cbxColumns.Items[cbxColumns.itemindex];
showmessage(scolumn);
end;
with dmUsers do
begin
with qryData do
begin
sql.Clear;
sql.Text := 'Select * FROM tbl_projects where' + quotedstr(scolumn) + ' = ' +quotedstr(ssearch);
open;
end;
end;
對不起我的代碼塊不是很整齊 – user2595912
「過濾器」可能是不適合你想要做什麼是正確的字。只是要清楚:你試圖做的是讓用戶從組合框中選擇用戶希望搜索的關聯表中的列,提示用戶在表列中匹配並執行值一個Sql查詢來查找匹配查詢的錶行? – MartynA
@ user2595912:'... where'+ quotedstr(scolumn)'將成爲'...其中「xyfield」'你可以看到'where'和''xyfield「之間沒有空格! –