在Query中如何實現Table中的這些功能?(10分)

  • 主题发起人 fluganto
  • 开始时间
F

fluganto

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]各位大俠,不知道如何在Query中實現以下Table中的功能:
1.尋找或者尋找最相近的
Table1.indexname:=’type_no’;
Table1.findkey([Edit1.text]);
Table1.findnearest([Edit1.text]);

2.類似locate的功能
Table1.locate(‘type_no’,Edit1.text,[lopartialkey]) [blue]loCaseinsensitive[/blue]
3.如何實現兩個表聯動
Table2.mastersource:=Datesource1;
Table2.masterfields:=’type_no’;
不勝感激!!
 
1、Query控件没有IndexName这个属性,但可以在SQL语句中增加order by子句来实现。
如: select * from Table_Name order by Type_No

2、Query控件本身也有Locate函数。

3、这个问题也可以叫主/从表问题,当主表的数据发生变化或滚动时从表的数据也会自动
更新。假设连接主表的控件为QMaster, 连接从表的控件为QDetail,则可以用以下方式
来实现:

QMaster: TQuery;
DSMaster: TDataSource;
QDetail: TQuery;
begin
DSMaster.DataSet := QMaster;
QDetail.DataSource := DSMaster;

QMaster.Close;
QDetail.Close;

QMaster.SQL.Text := 'select MasterID, MasterName from Master';
QMaster.Open;

QDetail.SQL.Text := 'select DetailID, DetailName from Detail where MasterID=:MasterID';
QDetail.Open;
end;
 
完全同意mylu7735的说法。很实在。很正确。
 
[:)] 謝謝各位回復,這麼說在Query中要實現
1.尋找 隻能用locate()
2.聽說實現主從表還可以用參數,不知道要怎麼用?
3.還可不可以實現 Table1.setrange()?
 
多人接受答案了。
 
顶部