我想在一个查询窗体中建立一个DBGrid1组件,作为查询筛选条件,鼠标点击DBGrid1任意单元格出现下拉框进行选择:
DBGrid1.Coulmns[0]列为SQL数据库的相关字段;
DBGrid1.Coulmns[1]列为固定的操作符号(如:=,>,<=,<,<=,<>等);
DBGrid1.Coulmns[2]列为用户自定义查询条件字段;
DBGrid1.Coulmns[3]列为增加DBGrid第二行时,考虑与其条件是"并连"关系还是"或者"关系;
允许DBGrid录入多个条件,然后根据此条件查询数据库的相应信息,并在DBGrid2中显示出来!高分求解!不够可再加!!
DBGrid1.Coulmns[0]列为SQL数据库的相关字段;
DBGrid1.Coulmns[1]列为固定的操作符号(如:=,>,<=,<,<=,<>等);
DBGrid1.Coulmns[2]列为用户自定义查询条件字段;
DBGrid1.Coulmns[3]列为增加DBGrid第二行时,考虑与其条件是"并连"关系还是"或者"关系;
允许DBGrid录入多个条件,然后根据此条件查询数据库的相应信息,并在DBGrid2中显示出来!高分求解!不够可再加!!
而且有工具可以把dbgrid全部转成dbgrideh
2.
procedure TForm1.Button1Click(Sender: TObject);
begin
Dbgrid1.Columns[0].PickList.Add('dd');
Dbgrid1.Columns[0].PickList.Add('aa');
Dbgrid1.Columns[0].PickList.Add('bb');
Dbgrid1.Columns[0].PickList.Add('cc');
Dbgrid1.Columns[0].PickList.Add('dd');
end;
3.但dbgrid因为数据感知控件,需要与一个dataset关联,设置column0的关联字段
DBGrid1.Coulmns[1]列为固定的操作符号(如:=,>, <=, <, <=, <>等);
DBGrid1.Coulmns[2]列为用户自定义查询条件字段;
DBGrid1.Coulmns[3]列为增加DBGrid第二行时,考虑与其条件是"并连"关系还是"或者"关系; 就做循环取值,一行行的取 进行拼接
var
sSql: String;
begin
sSql := ' select * from lesson where 1=1';
if adoquery1.RecordCount>0 then sSql := sSql +' and ';//第一个条件为 and
adoquery1.First;
while not adoquery1.Eof do
begin
sSql := sSql +'('+adoquery1.Fields[0].AsString+adoquery1.Fields[1].AsString+adoquery1.Fields[2].AsString+')';
sSql := sSql +' '+ adoquery1.fields[3].AsString; //当or ,and 等条件加在最后,如果没有,则应为空
adoquery1.Next;
end;
showmessage(sSql);
end;
DBGrid1.Coulmns[0]列为SQL数据库的相关字段;
DBGrid1.Coulmns[1]列为固定的操作符号(如:=,>, <=, <, <=, <>等);
DBGrid1.Coulmns[2]列为用户自定义查询条件字段;
DBGrid1.Coulmns[3]列为增加DBGrid第二行时,考虑与其条件是"并连"关系还是"或者"关系; 当我在DBGrid1.Coulmns[0]列和DBGrid1.Coulmns[2]列录入信息
在DBGrid1.Coulmns[1]列或DBGrid1.Coulmns[3]列选择相关内容后按下方向键增加一条记录时,
第一行的DBGrid1.Coulmns[1]列或DBGrid1.Coulmns[3]列选择过的内空就不见,而在DBGrid1.Coulmns[0]列和DBGrid1.Coulmns[2]列录入信息却还在,不知道这是为什么?
这应该不影响的。