小M在做一个图书管理系统,想要根据先书号(combobox1)从数据表中查询出相应的书号,然后书名(DBName),作者(DBAuthor)......根据书号显示相应的内容,请问代码要如何实现呢?
我只写了一下部分的代码,之后的不知道该怎么写了,请各位大侠帮帮忙指教一下好吗??以下是我的代码:
procedure TBookAdd.TabSheet2Show(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select distinct 书号 from 图书信息表');
ADOQuery1.Open;
ComboBox1.Clear;
while not ADOquery1.Eof do
begin
combobox1.Items.Add(ADOquery1.fieldbyname('书号').AsString);
ADOquery1.Next;
ADOQuery1.Active:=True;
end;
end;
我只写了一下部分的代码,之后的不知道该怎么写了,请各位大侠帮帮忙指教一下好吗??以下是我的代码:
procedure TBookAdd.TabSheet2Show(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select distinct 书号 from 图书信息表');
ADOQuery1.Open;
ComboBox1.Clear;
while not ADOquery1.Eof do
begin
combobox1.Items.Add(ADOquery1.fieldbyname('书号').AsString);
ADOquery1.Next;
ADOQuery1.Active:=True;
end;
end;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select distinct 书号 from 图书信息表');
ADOQuery1.Open;
ComboBox1.Clear;
while not ADOquery1.Eof do
begin
combobox1.Items.Add(ADOquery1.fieldbyname('书号').AsString);
ADOquery1.Next;
end;
end;
---
procedure TForm1.ImageList1Change(Sender: TObject);
begin
ADOQuery1.SQL.Add('select * from 图书信息表 where DBname='''+ImageList1.text+'); +'''');
end;
begin
*****
ADOQuery1.SQL.Add('select * from 图书信息表 where DBname='''+ImageList1.text+''' ');
*******
end;
跟你写的那段程序差不多的就可以实现了。随便找个button用下面的代码。信息用了label来显示(你想用dbgrid的话就加个dataSource控件拉。那个控件的dataset设为ADOQuery1)
var
sqlstring:string;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sqlstring:=' select * from 图书信息表 where 书号='''+combobox1.text+'''';';
SQL.Add(sqlstring);
Open;
end;
label1.caption:= ADOquery1.fieldbyname('书号').AsString;
label2.caption:= ADOquery1.fieldbyname('书名').AsString;
label3.caption:= ADOquery1.fieldbyname('作者').AsString;
end;
还是我自己弄好了!
begin
.....
.....
ADOQuery1.SQL.Add('select * from 图书信息表 where 书号='''+ComboBox1.text+'''';
.....
.....
end;