如何在DBGrid中搜索值并将其用于等式?

时间:2016-03-02 18:40:47

标签: delphi dbgrid tadotable

我最近创建了一个非常基本的“Client”DBGrid,它显示了Access数据库中的信息(使用ADOQuery,DataSource,ADOConnection和ADOTable连接)。我想知道是否有办法可以搜索特定记录(比如一个名字)并将该记录的“付款”表一起添加,并在按下按钮时在备忘录中显示。

我已经搜索了大量的帮助,我找不到合乎逻辑的东西,对于专家来说这可能是一个愚蠢的问题,但我发现这很困难,所以请善待。

2 个答案:

答案 0 :(得分:1)

我不太了解你的问题,我请你找出你的问题并准确解释,以便我们更容易帮助你。

- 在表格中搜索客户名称如下:

If Not ADOTable1.Locate('Name',Edit1.Text,[]) then
   MessageDlg('The customer does not exist !',mtInformation,[mbOK],0);

找到选项:loCaseInsensitive,loPartialKey。

你也可以通过ADOQuery搜索这是一个例子:

ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * From YourTable Where Name ='+QuotedStr(Edit1.Text);
ADOQuery1.Open;

或者您可以使用ADOQuery参数:

ADOQuery1.Close;
ADOQuery1.Parameters.ParamByName('Term').Value:=Edit1.Text;
ADOQuery1.SQL.Text := 'Select * From YourTable Where Name=:Term';
ADOQuery1.Open;

祝你好运。

答案 1 :(得分:0)

应通过ADOTable方法Locate()进行搜索。 如果您使用ADOQuery,您也可以重写SQL以进行搜索(不要忘记防止注入并尽可能使用参数) 如果您需要在按下按钮的同时显示一些额外信息 - 从AdoTable获取所需的键值并应用为从属查询的参数