TDBGrid 请教

cuiyuwen_0606 2013-04-19 04:55:30
在使用BCB6.0 写一个从mysql数据库表中读取数据,展示到DBGrid中.但是想对mysql数据库中获取的数据做一些处理,再放到DBGrid中.详细描述和疑问如下:

DBGrid、DataSource、ADOQuery、 ADOConnection四个组建实现从mysql数据库product_info表中获取数据.product_info获取的字段为name、price、dicount、type.现在有2个问题,没法解决.

问题一:
从product_info表中获取的值为“商品1,100,0.8,1”.我在DBGrid中添加了6个Cloumns.分别为0--5.
AnsiString a = 商品1;
AnsiString b = 100;
AnsiString c = 0.8;
AnsiString d = 1;
依据规则对上面的数据进行了一定的处理后,abcd数值分别发生了改变,并且衍生出了e、f两个变量值.现在
想把a、b、c、d、e、f 6个变量分别赋值到DBGrid的6个Cloumn中.即想实现DBGrid中展现abcdef的值.
请问应该如下实现?

问题2:
从product_info表中捞取出来的记录,是多条记录.每条记录都会处理,然后放到DBGrid中.那么DBGrid放入一列值后,(1)如何向第二行继续添加数据?
(2)如果想自动生成序列编号,如何实现?

问题3:
假设操作过程中,有10条数据.想实现用鼠标点击到哪行,点击右键就可以删除该行记录,并且重新自动序列编号,应该如何实现。


谢谢各位了.
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
路过路人乙 2013-04-19
  • 打赏
  • 举报
回复
1.你是批处理数据.为何不就在SQL里面根据规则计算好了再取出来直接显示呢?你用程序能进行的计算一般SQL也能完成吧.实在不行,在OnEndRowEdit事件里面进行处理. 2.你是捆绑数据感知控件.这个新增,完全不用你来操心吧.有多少条记录就会显示多少条.不需要人为去增加. 3.ADO有个RecNo.表示当前行数值.用这个数值当作序号即可.删除记录后重新刷新下ADO即可. 4.用的数据感知.添加个右键菜单控件,直接ado->delete()即可删除当前行.
缘中人 2013-04-19
  • 打赏
  • 举报
回复
如果过于复杂, 用clientdataset做转换,创建虚拟列,可定能解决了。
缘中人 2013-04-19
  • 打赏
  • 举报
回复
问题一二、你的规则复杂不,有个计算列,可以处理 问题三: query->Delete();就是删除当前行 删除完成后 first.next.eof....遍历再处理一下就可以了

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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