救救我吧,为什么记录更新后看不到?(急急急!!!)(100分)

  • 主题发起人 主题发起人 hukaijt
  • 开始时间 开始时间
注意了Q1的open和Execsql方法的区别没有?
 
hukaijt:
(1). order by field1

or
(2) add an index
 
JQW:
讲的详细点,好吗,我多给你几分
 
谁能详细点回答,我把我得分都给他!
 
建议阿,我也不知道行不行

试过用Ado吗,也许可以
 
jqw:
你为什么不回答了?讲呀!
 
附加功能 将问题提前
 
难道这个刷新的问题就是这么难解决。
 
使用Cache update试一试
(用TUpdateSQL控件)
这样统一提交,应该就不会出问题了
 
我就是想用存储过程!
 
1. 首先不知道你用於填充資料的edit1, ..., edit13 是dbedit , 還是一般的edit
2. FrmMain 上的 QI(TQUERY),storedproc1(Tstoredproc)的和後台的database連接是兩個不同的connection
你現在的想法是其中一個connection 的該動要主動通知另外一個connection. 目前sql server 好像沒有支持.
這樣的情況和執行兩個exe , 一個exe用query 取資料, 另外一個exe用sp 更新資料的的情形相同.
3. agree ppz_76.
在sp 更新資料後, q1 重新close /open. 當然最好回到剛剛insert 的那筆資料.
可以先保存pk1,..., pkn (你用作primary key 的fields)的值, 再在open 的時候把pk1,...pkn 當作參數傳入.
這樣獲得單筆資料回來.
4. 不過這樣得解決方法, 和sql server 得connection 很頻繁, 可能在效率上有些差.在多用戶得時候不一定很好.
但對比較大得table , 還是可以考慮的





 
天哪,你怎么会喜欢用"存储过程!",那是最古老,最烦琐的东东,
建议用绑定数据库的西西,那样可以用书签定位新增或修改后的记录!
 
用存贮过程就没有解决办法么?
 
天啦,为什么要用存储过程呢?
不就是要ID号加1嘛?
可以用TQuery + TUpadteSQL实现:
query.cachedupdate:= True ;
Query.requestlive := True ;
生成UpdateSQL中的SQL语句。。。。。你自己解决啦。。。
在Query的AfterPost事件中写:
Query.ApplyUpdate[Query] ;//大概是这样写的吧。。。
在BeforPost事件中生成ID号:
Query.FieldByName('ID').AsInteger := GetMaxID(...)+1 ;//GetMax 是自己写的function
增删操作可以用Navigator...来实现罗。与用TTable控件一样的。hehe...
再不明白?与我联系吧。。。

 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
939
SUNSTONE的Delphi笔记
S
I
回复
0
查看
992
import
I
I
回复
0
查看
760
import
I
后退
顶部