我还有一个问题:就是我还有一个页面做查询的用到一个QUERY 和 DBGUID用了2个COMBOBOX,一个用来选查找方式。一个用来选逻辑符。两个EDIT,1个用来输入查询值,另一个用来显示选好的组合如名字=某某
我已经做好了
如果想增加一个模糊查询的功能要怎么设计
源码如下unit Unit5;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Buttons, Grids, DBGrids, DB, ADODB, ComCtrls,
ExtCtrls, DBTables;type
TForm5 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label2: TLabel;
Label4: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Label1: TLabel;
StatusBar1: TStatusBar;
Label3: TLabel;
Image3: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label5: TLabel;
Edit2: TEdit;
Query1: TQuery; procedure SpeedButton1Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form5: TForm5;implementationuses Unit2;{$R *.dfm}procedure TForm5.SpeedButton1Click(Sender: TObject);
var s,s1,s2,s3:string;
begin
s1:=combobox1.Text;
s2:=combobox2.Text;
s3:=edit1.Text;
edit2.Text:=s1+s2+s3;
if s1='' then
begin
showmessage('请选择查询方式!');
end
else
begin
if s2='' then
begin
showmessage('请选择运算符!');
end
else
begin
if s3='' then
begin
showmessage('请输入查询值!');
end
else
begin
s:='select * from TABLE1 where '+s1+s2+''''+s3+'''';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Open;
if query1.RecordCount=0 then
showmessage('没有符合条件的记录!');
end;
end;
end;
end;procedure TForm5.Label3Click(Sender: TObject);
begin
form2.show;form5.hide;
end;procedure TForm5.FormCreate(Sender: TObject);
beginend;end.procedure TForm5.Label3Click(Sender: TObject);
begin
form2.show;form5.hide;
end;procedure TForm5.BitBtn1Click(Sender: TObject);
begin
ADOTABLE1.First;
end;procedure TForm5.BitBtn2Click(Sender: TObject);
begin
ADOTABLE1.Next;
end;procedure TForm5.BitBtn4Click(Sender: TObject);
begin
ADOTABLE1.Last;
end;procedure TForm5.BitBtn3Click(Sender: TObject);
begin
ADOTABLE1.Prior;
end;procedure TForm5.BitBtn5Click(Sender: TObject);
begin
Adotable1.Insert;
end;procedure TForm5.BitBtn6Click(Sender: TObject);
begin
Adotable1.Cancel;
end;procedure TForm5.BitBtn7Click(Sender: TObject);
begin
Adotable1.Post;
end;procedure TForm5.BitBtn8Click(Sender: TObject);
begin
adotable1.Delete;
end;procedure TForm5.BitBtn9Click(Sender: TObject);
begin
adotable1.Edit;
end;end.
我已经做好了
如果想增加一个模糊查询的功能要怎么设计
源码如下unit Unit5;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Buttons, Grids, DBGrids, DB, ADODB, ComCtrls,
ExtCtrls, DBTables;type
TForm5 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label2: TLabel;
Label4: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Label1: TLabel;
StatusBar1: TStatusBar;
Label3: TLabel;
Image3: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label5: TLabel;
Edit2: TEdit;
Query1: TQuery; procedure SpeedButton1Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form5: TForm5;implementationuses Unit2;{$R *.dfm}procedure TForm5.SpeedButton1Click(Sender: TObject);
var s,s1,s2,s3:string;
begin
s1:=combobox1.Text;
s2:=combobox2.Text;
s3:=edit1.Text;
edit2.Text:=s1+s2+s3;
if s1='' then
begin
showmessage('请选择查询方式!');
end
else
begin
if s2='' then
begin
showmessage('请选择运算符!');
end
else
begin
if s3='' then
begin
showmessage('请输入查询值!');
end
else
begin
s:='select * from TABLE1 where '+s1+s2+''''+s3+'''';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Open;
if query1.RecordCount=0 then
showmessage('没有符合条件的记录!');
end;
end;
end;
end;procedure TForm5.Label3Click(Sender: TObject);
begin
form2.show;form5.hide;
end;procedure TForm5.FormCreate(Sender: TObject);
beginend;end.procedure TForm5.Label3Click(Sender: TObject);
begin
form2.show;form5.hide;
end;procedure TForm5.BitBtn1Click(Sender: TObject);
begin
ADOTABLE1.First;
end;procedure TForm5.BitBtn2Click(Sender: TObject);
begin
ADOTABLE1.Next;
end;procedure TForm5.BitBtn4Click(Sender: TObject);
begin
ADOTABLE1.Last;
end;procedure TForm5.BitBtn3Click(Sender: TObject);
begin
ADOTABLE1.Prior;
end;procedure TForm5.BitBtn5Click(Sender: TObject);
begin
Adotable1.Insert;
end;procedure TForm5.BitBtn6Click(Sender: TObject);
begin
Adotable1.Cancel;
end;procedure TForm5.BitBtn7Click(Sender: TObject);
begin
Adotable1.Post;
end;procedure TForm5.BitBtn8Click(Sender: TObject);
begin
adotable1.Delete;
end;procedure TForm5.BitBtn9Click(Sender: TObject);
begin
adotable1.Edit;
end;end.
if DataSet.Locate('FieldName',AVar,[opt]) then
showMessage('查到记录!');
s:='select * from TABLE1 where '+s1+s2+''''+s3+'''';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Open;
if query1.RecordCount=0 then
showmessage('没有符合条件的记录!');
end;
希望能用这种方式实现
要符合给出的条件啊
是在下拉菜单中选中字段名在下拉菜单中选中逻辑符
然后在EDIT中输入要查询的字实现模糊查询