请教如何取出DBGrid中的所有数据赋给其他变量(50分)

  • 主题发起人 主题发起人 echolan
  • 开始时间 开始时间
E

echolan

Unregistered / Unconfirmed
GUEST, unregistred user!
我想取出DBGRID中各行各列的数值,赋给其他变量,但是没找到DBGrid中有关行的属性!
请教各位,应该如何做才能取出DBGrid中的所有数据?谢谢!
 
操作DBGrid连接的DataSet,然后使用DBGrid.Fields.属性就可以了。
 
The following example copies the selected rows in a dbgrid to a list box.

procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
 
神奇哎~居然看见wjiachun回答问题了~~~~~~~~~~~~第一次啊!!!!!!(我去竖个碑先)
 
好象是帮助文件里的,只是这个看得不是很明白!理解有点困难!:(
 
帮助就是最好的老师,yzhshi的帖子就是它的中文解释 :)
 
是不是在DGBrid中显示的所有数据,都会在DataSet中留下一个BookMark?所以需要到DATASET中读去数值?
有没有直接能取DBGrid中的值而不需要去查找数据库?
 
你的DBGrid中的值不是数据库里的么?
 
是!但是如果能直接读取,不需要再访问数据库不是更好吗 ?
 
DBGrid中并没有数据成员来保存数据,所有的数据都在DataSet里,DBGrid只是负责一些
界面的问题。
 
赞成wlmmlw的说法。
 
上面的说得对dbgrid只是把数据显示出来,数据仍放在表中,所以你要将它赋给其他变量
直接从表中用SQL取出来就行了.
 
后退
顶部