关于dbgrid和stringgrid,一直有个问题困绕着我,dbgrid能不能做到像stringgrid似的,按单元格取值,比如stringgrid1.cells[0,i]。用stringgrid时候,我连接数据集组件用个循环把数据写在stringgrid里面,比如要修改某些内容,然后再用个循环和update语句更新数据表,当然DBgrid只要readonly不为true,可以直接改数据的值,但我认为在DBGRID中直接改数据表的值不太好。现在我想做的是用dbgrid查询出数据集,然后新增一列,新增的列中有下拉按钮,选择一些值,都选完后,用个循环把这个新列的值存在数据表里,如果用stringgrid我知道怎么操作,用dbgrid是不是可行?
经常需要做一些数据项的判断,比如用dbgrid显示一些数据集,然后新增一列,嵌套个checkbox选择按钮,判断是与否,判断完后更新数据库,如果用DBgrid直接操作数据表也可以,但只能操作一个boolean字段,如果要同时更新几个地方,就不行了不知道我说明白没有,请高手赐教,非常感谢
经常需要做一些数据项的判断,比如用dbgrid显示一些数据集,然后新增一列,嵌套个checkbox选择按钮,判断是与否,判断完后更新数据库,如果用DBgrid直接操作数据表也可以,但只能操作一个boolean字段,如果要同时更新几个地方,就不行了不知道我说明白没有,请高手赐教,非常感谢
解决方案 »
- SakEmail接收新邮件的问题
- 如何输入SQL语句
- 如何拦截改变分辨率的消息并禁用?
- 呵呵,周末比较幸运,大家多支持国家的纳税事业啊,散分~~~~~~~~~~~
- Delphi6.0使用什么做报表打印比较好?
- 请问QUERY和ADOQUERY有何区别,各有什么好处,什么时候用哪个比较好?
- Delphi6.0的安装问题
- 关于加载DLL里的Windows菜单的问题——急
- 请问用delphi编写的cgi程序(后缀为exe的文件)是否能在基于unix的Web服务器,例如apache上运行?
- 各位大侠,有个线程中的问题,特别着急,46分送上!谢谢了
- 申请Windows SDK/API版主,散分
- 关于listview修改某行数据的问题
这个你可以利用dbgrid中的picklist属性来实现,应该没有问题。
经常需要做一些数据项的判断,比如用dbgrid显示一些数据集,然后新增一列,嵌套个checkbox选择按钮,判断是与否,判断完后更新数据库,如果用DBgrid直接操作数据表也可以,但只能操作一个boolean字段,如果要同时更新几个地方,就不行了
这个没有太清楚,利用dbgrid直接录入修改数据时,用adoquery.insert,append,edit,post就可以了,如果要判
断,可以在数据集的beforepost等事件中进行处理
A表字段
id,name,description,unit,memo
B表字段
id,quantity,valuesC表
id,newvaluesA表.ID=B表.ID=C表.idselect a.id,a.name,a.description,a.unit,b.quantity, b.values from a left join b on a.id=b.id假设我用adoquery 查询用dbgrid显示出来
id,name,description,uint,quantity,values
.. .... ..... .... ..... ....我在dbgrid上新增加一个字段newvalue,这个字段用来填个数,当填完后点一个BUTTON把这个字段的值插入到C表的newvalues中,请问这时候得怎么写程序?
如果要保存数据,我觉得流程是,先要将数据存入C表,生成ID后,才能让A表与B表来引用这个ID。
所以不如有新字段时,先保存到C表,然后再操作A与B表,将其分别操作。
如果用stringgrid我知道怎么写
比如:
var i:integer
begin
for i:=0 to stringgrid.rowcount-1 do
beggin
close;
sql.clear;
sql.add('insert c(newvalues) values(:newvalues)');
parameters.parambyname('newvalues').value:=stringgird.cells[6,i];
exexsql;
end;
end;
因为stringgrid能够取单元格的值,能够循环插入C表,如果用DBgrid有没有这种功能?