说难也不难,说容易也不容易(100分)

  • 主题发起人 主题发起人 yaya8163
  • 开始时间 开始时间
Y

yaya8163

Unregistered / Unconfirmed
GUEST, unregistred user!
query会自动按数据库中的索引取数据.我用GRID显示QUERY中的数据
但是在添加,修改后GRID中的数据不会按索引排序而是按插入的顺序排,
只是数据库中的数据是按索引排序的.如何才能让QUERY能实现TABLE的功能
按索引插入,删除.
 
Query的SQL语句用Order By 子句不行吗
 
order by 只能在第一次讀取數據時排序,中途修改並不能排序
看來QUERY只能作為查詢結果提供,而不能作為數據源提供索引功能
 
更新时加bookmark
 
难道每次更新都刷新(QUERY.CLOSE QUERY.OPEN)再用BOOKMARK定位
记录少还愁和,记录数以万计那我是神经病.还不如用TABLE
 
輸入時不在DBGrid里直接輸﹐而是至少把ID輸在別的什么地方﹐然后在客戶
端搜索一把﹐確定位置再插入
 
我并没有在GRID中输入,而是在DBEDIT中输入.我想做的只是
QUERY能利用数据库中的索引能自动按索引插入,修改.因数据库中数据较多
QUERY筛选符合条件的记录出来供修改.但是我又不想用CLIENTDATA控件
看来是没招了,另想出路
 
你可以这样试试看吧
再加一个TABLE控件,DBGRID指向TABLE控件的DATASOURCE 而TABLE控件是自动排序的
添加数据就在TQUERY里添加,这样便可实现了,不过是不是有一种南辕北辙的感觉
不过对于你所说的是适用的。
 
你是要修改以后还要定位在这条记录上?
不用吧,修改成功直接query.close.
反正每次调用总要open的.

to 浪兄:
象您所说的,不如直接用table,何必要用query呢?
 
to 楚非帆
那位仁兄不是说要用tquery实现增加记录吗,这样做有效的,有时候还是很有用的
绝不是灌水
 
用Sql的Insert和Update来插入或修改,然后再Select ... Order By ...
 
如果想用Query实现编辑数据的话,可以使用缓存更新,将其CachedUpdates设为True,再
在窗体中加入一个UpdateSql,将Query的UpdateObject设为那个UpdateSql,这样就可以
修改Query的数据了,但是要注意更新回数据库的方法。
 
各位请把题目看清
还有程序中的计算依赖集的顺序不能用ORDER BY
 
接受答案了.
 
后退
顶部