如何关联数据库内容(50分)

  • 主题发起人 主题发起人 mailingjun
  • 开始时间 开始时间
M

mailingjun

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi中使用了多个dbcombobox,我希望在一个dbcombobox中选定一个值后,
其他相关联的数值会出现在另外的dbcombobox中。
例如,dbcombobox1中我选了‘奔驰’,dbcombobox2中会自动选定该物品对应的价格,
dbcombobox3中选定相应的产地。
请各位高手帮个忙,在下不胜感激
 
如果'奔驰'有多种价格和產地, 這种問題是不成立的, 你如果要這樣的話,字段
在數据表中應該是唯一,之后用代碼控制:
Query.Sql.Clear;
Query.Sql.Add('select * from table where 字段='+''''+trim(dbcombobox)+'''');
Query.Open;
 
也可以用locate来定位记录
 
假定dbcombobox1对应query1 ,其中有字段1
dbcombobox2对应query2, 其中有字段1和字段2
dbcombobox3对应query3, 其中有字段1,字段2和字段3
用dbcombobox1的onCloseUp事件中写以下代码:
begin
Query2.Filtered := false;
Query2.Filter := '字段1='''+dbcombobox1.text+'''';
Query2.Filtered := True;

Query3.Filtered := false;
Query3.Filter := '字段1='''+dbcombobox1.text+'''';
Query3.Filtered := True;
end;
 
如果对应数据是唯一的,
Query1.Sql.Clear;
Query1.Sql.Add('select Price from table where 字段='+''''+ dbcombobox1.text +'''');
Query1.Open;
dbcombobox2.text := Query1.FieldByName('Price').AsInteger
 
接受答案了.
 
后退
顶部