怎样取得DBGrid中的数据?

luhongjun 2001-08-11 01:34:55
DBGrid和ADOQuery连接后显示了表中的数据.
不使用ADOQuery->Fields,ADOQuery->FieldByName等方式,而象StringGrid一样直接通过行数和列数例如:CELL[2][3]这样的方法取得其数据.
...全文
421 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
WhiteRiver 2001-10-22
  • 打赏
  • 举报
回复
补充:应该是
DBGrid->Columns[i].Items[j]->Field
WhiteRiver 2001-10-22
  • 打赏
  • 举报
回复
DBGrid->Columns[i]->Items[j]->Field
xxxyyyuuu 2001-09-26
  • 打赏
  • 举报
回复
up
whitelion 2001-08-14
  • 打赏
  • 举报
回复
up
luhongjun 2001-08-14
  • 打赏
  • 举报
回复
UP
luhongjun 2001-08-13
  • 打赏
  • 举报
回复
看来此问题真的无解,谢谢各位。
再放两天。
wjzhuang 2001-08-13
  • 打赏
  • 举报
回复
上去
孩皮妞野 2001-08-13
  • 打赏
  • 举报
回复
推一下
jixian 2001-08-13
  • 打赏
  • 举报
回复
wu
wjzhuang 2001-08-13
  • 打赏
  • 举报
回复
咦,再次上去
weenyboy 2001-08-12
  • 打赏
  • 举报
回复
> wangxd(东东) 
看一下TDataSet类取数据的方法, 它将记录指针作为索引, 这样我们手动改变这个索引, 取完数据后恢复, 甚至可以自己写方法来存取数据吧
leejd 2001-08-11
  • 打赏
  • 举报
回复
我是从SelectedRows里面取得的
wangxd 2001-08-11
  • 打赏
  • 举报
回复
>>: weenyboy(小公子) 
移动记录指针是可能的 ??
不可能吧,只要你用dbgrid读取数据,必然要移动记录指针,如果不移动的话怎么可能读取呢?
除非你一次性的把表中的数据读到临时表或内存变量中
weenyboy 2001-08-11
  • 打赏
  • 举报
回复
同意guo
Dbgrid没有存放数据的属性,而StringGrid有(FData),Dbgrid使用数据通过DataSouce,编辑通过TCustomEdit的子类,所以好象不通过DataSet来处理比较难,当然实现不移动记录指针是可能的
zfming 2001-08-11
  • 打赏
  • 举报
回复
你是指不用Bookmark的方法?
guo 2001-08-11
  • 打赏
  • 举报
回复
不知道大家仔细看过stringgride和dbgride的声明了没有,我在delphi的原码grids中看到如下一句话也许对问题会有一些解释:
TStringGrid adds to TDrawGrid the ability to save a string and associated
object (much like TListBox). It also adds to the DefaultDrawing the drawing
of the string associated with the current cell.
可以看出,stringgrid有和每个单元格对应的tstrings,请看grid后面的一个声明:
TStringGridStrings = class(TStrings)而且stringgrid的私有方法getcells也在从对drawgrid的继承时加入(function GetCells(ACol, ARow: Integer): string;)

以下是我的推测: stringgrid有多个strings保存每个cell中的字符串,也提供了getcells的方法.而dbgrid是从customgrid继承过来,在ondrawdatacell事件中给出的是field变量,和它相对应的stringgrid的ondrawcell中没有关于cell中内容的引用,那是不是可以这样认为:dbgrid中的所有数据最终还是存放在dataset中,我们看到了无非是dbgrid画出的结果,这也就是为什么当我们点击单元格时dataset记录指针发生移动的原因.

我只是瞎猜一通,没有直接证据,还希望听一下其它高人的见解.
书生 2001-08-11
  • 打赏
  • 举报
回复
up~先,在网吧。回公司再说。
TR@SOE 2001-08-11
  • 打赏
  • 举报
回复
好象不行啊。在DBGrid级别,根本看不到CELL这个属性啊。。。。。。。

ccaolii 2001-08-11
  • 打赏
  • 举报
回复
luhongjun 这个人是luhongjun(过江项羽)吗?是不是我弄错了呀! 
ccaolii 2001-08-11
  • 打赏
  • 举报
回复
你在表打开时把记录增加到StringGrid然后就对StringGrid操作,只是一开始慢了,后来就不用你移到记录了,这样行吗?你上次说脸普识别我还不知道用什么算法呢?老师告诉我行吗?
加载更多回复(5)

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧