D
daiyi
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在一个ComboBox里给出所有数据库中存放的可选字段,
我使用了
adotable1.open;
for i:=0 to adotable1.fieldcount-1 do
begin
ComboBox1.Item.add(adotable1.FieldByName('abc').AsString);
adotable1.next;
end;
这样的格式,
可是要在其他位置将选择的abc的id取得的时候该怎样做呢,难道还需要再到数据集中去
查找么?那样岂不是很影响效率。
上面的数据表的结构很简单,只是形如:
id abc
0001 'jdkjas'
0002 'fhjjfh'
...
这样子。
有人告诉我可以使用对象的数据结构来解决,形如
type Tabc=class(Tobject)
id:integer;
abc:string;
end;
...
var abc:Tabc;
...
abc:=Tabc.create;
abc.id:=adotable1.FieldByName('id').asinteger;
abc.abc:=adotable1.FieldByName('abc').asstring;
ComboBox1.item.addobject(abc.abc,abc);
...
然后又该怎么办呢?
我刚刚开始学习,对于对象的理解还不是十分清楚,但上面的定义也就是类似record的一个
数据结构,在其上并没有具体实现什么方法,只是继承了Tobject的一般的create,free
...这些方法而已。可是对于这样的问题实在让我很困惑。希望高手指点一二,不胜感激!
我使用了
adotable1.open;
for i:=0 to adotable1.fieldcount-1 do
begin
ComboBox1.Item.add(adotable1.FieldByName('abc').AsString);
adotable1.next;
end;
这样的格式,
可是要在其他位置将选择的abc的id取得的时候该怎样做呢,难道还需要再到数据集中去
查找么?那样岂不是很影响效率。
上面的数据表的结构很简单,只是形如:
id abc
0001 'jdkjas'
0002 'fhjjfh'
...
这样子。
有人告诉我可以使用对象的数据结构来解决,形如
type Tabc=class(Tobject)
id:integer;
abc:string;
end;
...
var abc:Tabc;
...
abc:=Tabc.create;
abc.id:=adotable1.FieldByName('id').asinteger;
abc.abc:=adotable1.FieldByName('abc').asstring;
ComboBox1.item.addobject(abc.abc,abc);
...
然后又该怎么办呢?
我刚刚开始学习,对于对象的理解还不是十分清楚,但上面的定义也就是类似record的一个
数据结构,在其上并没有具体实现什么方法,只是继承了Tobject的一般的create,free
...这些方法而已。可是对于这样的问题实在让我很困惑。希望高手指点一二,不胜感激!