对数据处理的一序列问题,请求支援!

feng_zi 2001-09-14 09:19:34
1、使用Ttable,打开时,本来只有n条记录,可是在与之相连接的dbgrid中却显示了2n条记录,记录重复显示了,在打开Ttable时,我用了过滤,执行过一次循环(为了计数,得出的记录数是正确的),每当我拖动dbgrid的滚动条时,显示的记录又会自动增加,请问这是什么原因呢,劳烦大侠出手!

2、当我用query代替table时,我要向表中插数只是报,表只读,当我将requestlive设为true时,打开表,却报表不存在,我用的是oracle数据库,对access我也做过同类功能却没有什么问题,请这方面的专家给答案

3、Tquery与Tupdatesql两者合用时,可以insert可以保存,可是delete、modified却不可以保存,报"update failed",这是什么原因呢?
...全文
83 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chechy 2001-09-14
  • 打赏
  • 举报
回复
1、出现2n条,我也不明白。你的方式应该是对的。
2、与别的表关联,也会导致错误。连接TupdateSQL就解决了。自增字段在TupdateSQL中非常容易解决。就是在UpdateSQL的编辑对话框中Update Fields去掉自增字段的选择。也就是在Insert和Update语句中,不会去更改自增字段。
3、如果还有疑问,用SQL Monitor监视,到底那条SQL语句出错。
feng_zi 2001-09-14
  • 打赏
  • 举报
回复
另外问chechy,一个问题,就一个query,如何能分辨以下状态:
1、在insert、delete、edit之后,但没有commitupdates
2、在insert、delete、edit之后,已经commitupdates
3、没有insert、delete、edit

我想要实现的功能是:在增加(已经有数据录入)、修改记录之后,没有保存就退出时,提醒是否要保存.
feng_zi 2001-09-14
  • 打赏
  • 举报
回复
好奇怪,对于3,我只保留了关键字段,现在可以了,重启了机子,为什么自动生成的sql会有问题呢?
feng_zi 2001-09-14
  • 打赏
  • 举报
回复
chechy:
  1、对于计数的问题,由于我有过滤条件只能循环,recordcount得到的是整个表的记录数呀
  2、query中我的sql为select * from dlqda,不是复杂语句,现在我初步估计原因是在中有一些是我的自增字段,与别的表相关联的,现在我单独用原表中的字段时,没有问题了,可是我要自增字段呢,如何解决?
  3、当我将modifysql、deletesql中where语句后的条件只保留关键字段(只一个,是string)时,问题还依然如故,有没有解决的方法?
chechy 2001-09-14
  • 打赏
  • 举报
回复
1、这个现象很特别。我觉得不应该出现。另直接写Table1.RecordCount,不要循环那么麻烦。
2、Requestlive设为True,报表不存在。证明你的SQL存在复杂语句,如order by, group by等,需要关联TUpdateSQL,才可以。
3、这个错误更牛。一般来说,是SQL设置不正确导致的。比如Where语句中的某些字段是日期或者浮点类型,或者MEMO,BLOB类型都会导致这样的错误。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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