我想要根据客户编号(edit1)和客户名称(edit2)来查询客户信息,
在edit1和edit2中输入内容后点击查询按钮(btnok)后,查询结果显示到DBGrid中相应的位置。
请问这应该怎么做?
最好有代码说明。以下是我的一些代码:
procedure Tcustcheck.btnokClick(Sender: TObject);
var
i:integer;
begin
if btnok.Caption='查询' then
begin
if Edit1.Text<>'' then
begin
with ADOQuery1 do
begin
SQL.Clear;
SQL.Text:='select * from TPADFA where DFA001="'+edit1.Text+'" or DFA002 like ''%'+edit2.Text+'%''';
Open;
i:=recordcount;
end;
if i>0 then
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from TPADFA';
DBGrid1.Columns.Items[0].FieldName:=edit1.Text;//这里有问题,我不知道该怎么写下去。
end;
end
else
begin
Edit1.SetFocus;
exit;
end;
end;end;
在edit1和edit2中输入内容后点击查询按钮(btnok)后,查询结果显示到DBGrid中相应的位置。
请问这应该怎么做?
最好有代码说明。以下是我的一些代码:
procedure Tcustcheck.btnokClick(Sender: TObject);
var
i:integer;
begin
if btnok.Caption='查询' then
begin
if Edit1.Text<>'' then
begin
with ADOQuery1 do
begin
SQL.Clear;
SQL.Text:='select * from TPADFA where DFA001="'+edit1.Text+'" or DFA002 like ''%'+edit2.Text+'%''';
Open;
i:=recordcount;
end;
if i>0 then
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from TPADFA';
DBGrid1.Columns.Items[0].FieldName:=edit1.Text;//这里有问题,我不知道该怎么写下去。
end;
end
else
begin
Edit1.SetFocus;
exit;
end;
end;end;
解决方案 »
- 有关dbgrid的操作
- 请问ServerSocket如何给指定客户发送数据
- vclskin对MDI窗体最大化后,子窗体在菜单右边的最大,最小,关闭按钮显示错误?
- 快崩溃了,为什么delphi写的WEB SERVICE在C#下会出这样的错?
- VCL中如何实现Align属性?
- 怎样自动求几个字段的和?在线等!分不够可加!
- 兄弟姐妹们请帮帮我。...............................................................................
- 巨难问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- 请问!文件夹属性设置问题!
- Delphi现在主要用来干什么?
- datagrid 按钮列
- 没事~~~
真不知道你写的是什么~
var
FStr:String;
begin
FStr:='';
if Edit1.Text<>'' then
FStr:='DFA001='''+Edit1.Text+''''; if Edit2.Text<>'' then
begin
if FStr='' then
FStr:='DFA002='''+Edit2.Text+''''
else FStr:=FStr+' and DFA002='''+Edit2.Text+'''';
end; if FStr='' then FStr:='select * from TPADFA'
else FStr:='select * from TPADFA where ' +FStr;
ADOQuery1.Close;
ADOQuery1.SQL.Text:=FStr;
ADOQuery1.Open;
end;
dataset与connection关联
datasource与dataset关联
dbgrid与datasouce绑定
var
i:integer;
begin
if btnok.Caption='查询' then
begin
if Edit1.Text <>'' then
begin
with ADOQuery1 do
begin
SQL.Clear;
SQL.Text:='select * from TPADFA where DFA001="'+edit1.Text+'" or DFA002 like ''%'+edit2.Text+'%''';
Open;
//i:=recordcount;
end;
{if i>0 then
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from TPADFA';
DBGrid1.Columns.Items[0].FieldName:=edit1.Text;//这里有问题,我不知道该怎么写下去。
end; }
end
else
begin
Edit1.SetFocus;
exit;
end;
end; end;将DataSource1的dataset设为ADOQuery1,将DBGrid的datasource设为DataSource1就行了
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from TPADFA';
DBGrid1.Columns.Items[0].FieldName:=edit1.Text;//这里有问题,我不知道该怎么写下去。
end;
这段没用吧 应该是控件属性的问题
它不能查询出来,也不能把查询的结果在下面的DBGrid上面显示出来
说明一点: 我已经把DBGrid与数据库连接起来了