Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2515|回复: 5

firebird+rows查询得到的数据集为什么不能修改呢?

[复制链接]

该用户从未签到

发表于 2012-8-24 17:58:05 | 显示全部楼层 |阅读模式
各位有没有遇到这种问题?
firebird 2.5
lazarus 0.9.30.4
连接数据库用的控件都是自带的:
    Datasource1: TDatasource;
    DBGrid1: TDBGrid;
    IBConnection1: TIBConnection;
    SQLQuery1: TSQLQuery;
    SQLTransaction1: TSQLTransaction;  
查询时,两种方式:
1、SELECT * FROM TEST_S2 rows 2 to 10
2、SELECT * FROM TEST_S2
那么,第一种在DBGrid中时不可编辑的,第二种是可编辑的。
请问怎样才能使第一种方式可编辑?
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-8-25 10:36:42 | 显示全部楼层
经过试验,我这样解决了,但是速度下降了很多:
select * from TEST_S2  where ID in(select ID from TEST_S2  rows 2 to 10)

如果只是用来查询, 用
SELECT * FROM TEST_S2 rows 2 to 10
这种方式还是很快的,但是要修改数据的话,我找到的办法就是用where ID in。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-8-25 15:31:14 | 显示全部楼层
也许你用另外一个查询,另外的非感知控件进行update操作比较好
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-8-28 13:29:22 | 显示全部楼层

回 2楼(steven) 的帖子

steven:也许你用另外一个查询,另外的非感知控件进行update操作比较好 (2012-08-25 15:31)
能不能说详细一些呢?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-8-28 18:15:33 | 显示全部楼层
比如一个 dbgrid  感知,另外 每行 用 TEdit 去修改,自己写语句.
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-9-9 21:35:59 | 显示全部楼层

回 4楼(steven) 的帖子

steven:比如一个 dbgrid  感知,另外 每行 用 TEdit 去修改,自己写语句. (2012-08-28 18:15)
好的,这个办法不错。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2026-7-25 02:59 , Processed in 0.055888 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表