完整的代码:
if ALB_FRBtn.Checked then //按类别
if MHCX_FCB.Checked then
begin
TSXX_Q.Close;
TSXX_Q.SQL.Clear;
TSXX_Q.SQL.Add('Select 图书编号,书名,作者,类名,出版社,定价,总数量,出版日期 From 图书信息 A,图书类别 B');
TSXX_Q.SQL.Add('Where (B.类名 Like :类名) and A.类别=B.类别');
TSXX_Q.Parameters.ParamByName('类名').Value:='%'+GJZ_CB.Text+'%';
TSJG_DS.DataSet:=TSXX_Q; //注意这是第二种数据库动态连接
TSJG_DG.Columns[0].FieldName:='图书编号';
TSJG_DG.Columns[1].FieldName:='书名';
TSJG_DG.Columns[2].FieldName:='作者';
TSJG_DG.Columns[3].FieldName:='类名';
TSJG_DG.Columns[4].FieldName:='出版社';
TSJG_DG.Columns[5].FieldName:='定价';
TSJG_DG.Columns[6].FieldName:='总数量';
TSJG_DG.Columns[7].FieldName:='出版日期';
TSXX_Q.Open;
TS_Lable.Caption:=Format('共 %d 条记录',[TSXX_Q.RecordCount]);
end
else begin
TSXX_Q.Close;
TSXX_Q.SQL.Clear;
TSXX_Q.SQL.Add('Select 图书编号,书名,作者,类名,出版社,定价,总数量,出版日期 From 图书信息 A,图书类别 B');
TSXX_Q.SQL.Add('Where (B.类名 = :类名) and A.类别=B.类别');
TSXX_Q.Parameters.ParamByName('类名').Value:=GJZ_CB.Text;
TSJG_DS.DataSet:=TSXX_Q;
TSJG_DG.Columns[0].FieldName:='图书编号';
TSJG_DG.Columns[1].FieldName:='书名';
TSJG_DG.Columns[2].FieldName:='作者';
TSJG_DG.Columns[3].FieldName:='类名';
TSJG_DG.Columns[4].FieldName:='出版社';
TSJG_DG.Columns[5].FieldName:='定价';
TSJG_DG.Columns[6].FieldName:='总数量';
TSJG_DG.Columns[7].FieldName:='出版日期';
TSXX_Q.Open;
TS_Lable.Caption:=Format('共 %d 条记录',[TSXX_Q.RecordCount]);
end;
if ALB_FRBtn.Checked then //按类别加日期
if RQ.Text <> '' then
begin
TSXX_Q.Close;
TSXX_Q.SQL.Clear;
{ TSXX_Q.SQL.Add('Select 图书编号,书名,作者,类名,出版社,定价,总数量,出版日期 From 图书信息 A,图书类别 B');
TSXX_Q.SQL.Add('Where (B.类名 Like :类名) and A.类别=B.类别');
TSXX_Q.Parameters.ParamByName('类名').Value:='%'+GJZ_CB.Text+'%';}
SQLStr:='select 图书编号,书名,作者,类名,出版社,定价,总数量,出版日期 From 图书信息 A,图书类别 B ';
SQLStr:=SQLstr+' Where B.类名='''+GJZ_CB.text+'''';
if RQ.Text <>'' then
begin
SQLstr:=SQLstr+' and 出版日期 like ''%'+RQ.text+'%''' ;
end ;
if GJZ_CB.Text <>'' then
begin
SQLstr:=SQLstr+' and 类名 = ''%'+GJZ_CB.text+'%''' ;
end ;
TSXX_Q.SQL.Add(SQLStr);
TSXX_Q.Open;
TSJG_DS.DataSet:=TSXX_Q; //注意这是第二种数据库动态连接
TSJG_DG.Columns[0].FieldName:='图书编号';
TSJG_DG.Columns[1].FieldName:='书名';
TSJG_DG.Columns[2].FieldName:='作者';
TSJG_DG.Columns[3].FieldName:='类名';
TSJG_DG.Columns[4].FieldName:='出版社';
TSJG_DG.Columns[5].FieldName:='定价';
TSJG_DG.Columns[6].FieldName:='总数量';
TSJG_DG.Columns[7].FieldName:='出版日期';
TSXX_Q.Open;
TS_Lable.Caption:=Format('共 %d 条记录',[TSXX_Q.RecordCount]);
end;