forgot2000 (忘记2000年) :请教 一个问题:好象ado多表联合查询的结果是只读不能修改的呀?你是如何做到的,能说说不?
解决方案 »
- TDBGridEh问题!
- 请试用我最近做的纯绿色一键修复软件,支持在线升级,最近都免费的
- 为什么我的adodataset.nextrecordset要参数的?!
- 急!这个控件怎么做?
- excel批量导入700条数据以上,报错:"out of memory while expanding memory stream"
- 有关ADO与BDE的问题.请大家帮忙! 谢谢
- 求助-根据名称调用窗口
- dspack delphi 内存泄漏
- 各位大虾,小弟有100分送上*_*,有谁知道如何在Delphi中调用.CHM格式的帮助文件?
- 来来来
- 簡單的KEYBD_EVENT問題
- ADO为何连接不上数据库。(100分在线等待)
修改的時候大慨沒什麼問題,因為數據本來就是合法的(已保存了一定就是合法的啦:))。
在新增的時候,就很大可能出錯了,因為你可能隻選了一部分的字段出來,DataSet隻會處理這些字段,沒選的字段的合法性難以保障。
還有它更新第二個表的時候它的處理方法應該是這樣的(以問題的SQL語句為例):
Update Table1 Set 更改的字段=新值 Where B_ID=對應的B_ID
Update Table2 Set 更改的字段=新值 Where B_ID=對應的B_ID
這樣的話,你說有什麼保障呢?
你可以用Profiler看一下後端做了些什麼!:)
用了ADO快一年了,現在基本上沒什麼問題,Borland公司有對MDAC2.6 Bug
(EOF AND BOF)的解決方法,多點到BORLAND公司的網站看一下吧!主要是使用模式的問題,當你開始做的時候要做好技術測試,要不做之前遇不到的,後面才發現,這就有點晚了!我修改了部分ADO.DB的代碼(DELPHI 5),太長了,不能貼!:( 。
不同的SQL 都會有一點區別,SQL 7.0和SQL 2000有很大的區別,SQL2000 改進了很多!多點了解ADO的工作流程,你會有很大的收獲。
補充一點,有些所謂的BUG(不是BUG)是正常的,如在查找字段中找不到對應的值時出現的非終斷型報錯,但DELPHI好象是提示"未知錯誤":(,我把這段東西跳過了,免得煩:)。
ADO也用了很长时间了,一般在设计编码的时候就应该注意
多表查询后不可改的问题,及时采用gettext、lookup、计算字段等等
方法来避免修改的情况。对于你的情况可能要用另adoquery的SQL语句
直接对数据库操作,然后在重新刷新原adoquery,和定位记录
另adoquery的SQL可以在原adoquery的beforepost内操作吧。
写入,BoforePost时,看看编辑字段的DisplayText是否能loacte name不行的话
就在b表中添加一条记录。
写入,BoforePost时,看看编辑字段的DisplayText是否能loacte name不行的话
就在b表中添加一条记录。