level 4
醱龢🔥
楼主
如图
delphi中要实现勾上checkbox前面的勾,就能查询到数据库中数据,在DBGRID中显示

已经有部分代码但运行不出
var sqlstr:string;
begin
sqlstr :='select * from spjy';
with adoquery1 do
begin
close;
sql.Clear;
adoquery1.SQL.Add('select * from spjy where spbh <>''');
if checkbox1.Checked or checkbox2.Checked or checkbox3.Checked or checkbox4.Checked then
sqlstr := sqlstr+'where';
if checkbox1.Checked then
begin
sqlstr := sqlstr +'spbh like'+'''%'+checkbox1.Caption+'%''' ;
checkbox1.Checked := false;
end;
if checkbox2.Checked then
begin
if checkbox1.Checked then
sqlstr := sqlstr +'and';
sqlstr :=sqlstr + 'select * from spjy where spmc =''';
checkbox1.Checked :=false;
end;
if checkbox3.Checked then
begin
if checkbox1.Checked then
sqlstr :=sqlstr +'and';
sqlstr :=sqlstr + 'select * from spjy where jhrq =''';
checkbox1.Checked :=false;
end;
if checkbox4.Checked then
begin
if checkbox1.Checked then
sqlstr :=sqlstr +'and';
sqlstr :=sqlstr +'select * from spjy where spgysh =''';
checkbox1.Checked :=false;
end;
Execsql;
end;
希望各位前辈看看
2012年12月03日 04点12分
1
delphi中要实现勾上checkbox前面的勾,就能查询到数据库中数据,在DBGRID中显示

已经有部分代码但运行不出var sqlstr:string;
begin
sqlstr :='select * from spjy';
with adoquery1 do
begin
close;
sql.Clear;
adoquery1.SQL.Add('select * from spjy where spbh <>''');
if checkbox1.Checked or checkbox2.Checked or checkbox3.Checked or checkbox4.Checked then
sqlstr := sqlstr+'where';
if checkbox1.Checked then
begin
sqlstr := sqlstr +'spbh like'+'''%'+checkbox1.Caption+'%''' ;
checkbox1.Checked := false;
end;
if checkbox2.Checked then
begin
if checkbox1.Checked then
sqlstr := sqlstr +'and';
sqlstr :=sqlstr + 'select * from spjy where spmc =''';
checkbox1.Checked :=false;
end;
if checkbox3.Checked then
begin
if checkbox1.Checked then
sqlstr :=sqlstr +'and';
sqlstr :=sqlstr + 'select * from spjy where jhrq =''';
checkbox1.Checked :=false;
end;
if checkbox4.Checked then
begin
if checkbox1.Checked then
sqlstr :=sqlstr +'and';
sqlstr :=sqlstr +'select * from spjy where spgysh =''';
checkbox1.Checked :=false;
end;
Execsql;
end;
希望各位前辈看看