線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1913
推到 Plurk!
推到 Facebook!

奇怪!!!!!!!!!!用ADO不行,用ODBC就可以?why?Applyupdates(0)

答題得分者是:Jasonwong
popmailzjw
一般會員


發表:7
回覆:18
積分:5
註冊:2002-05-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-14 12:15:33 IP:218.17.xxx.xxx 未訂閱
我正开始学习三层。做了一个最简单的应用服务器,它用odbc连接就可以更新,用ado 却不能更新,我在客户端没有更改任何地方,只是用ApplyUpdates(-1)去更新数据库。 环境:D6 SQL2000 SocketConnection 我刚刚用DataSetProvider1UpdateError事件查看了一下错误代码. 它是:1--->"Recoed not found or Changed by another user" 我就一个人在用啊为什么会出现这种错误呢? 我用 SQL ProFiler 监视了一下程序传给SQL 的语句,它们两个传过去的语句都是一样的, 但是用它在分析器中执行却不能更新数据 我再研究了一下。大致的原因如下: 因为我的表中有一个日期时间型的字段。它存储的数据如下:'2002-12-24 09:15:27.593' 但我的应用程序传给数据库的格式却为:'Dec 24 2002 9:15AM'我用这样的格式在分析器中查找不 到这样的记录,因为'.593'部份没有了,如果是'.000'就可以更新
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-14 12:49:24 IP:211.23.xxx.xxx 未訂閱
嗯~~看來你已找出問題所在了~~ 只要把微秒部份刪掉不要存就可以了~~ 我也曾經被這個問題搞了好久~~ -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-14 13:37:19 IP:203.204.xxx.xxx 未訂閱
引言: 我正开始学习三层。做了一个最简单的应用服务器,它用odbc连接就可以更新,用ado 却不能更新,我在客户端没有更改任何地方,只是用ApplyUpdates(-1)去更新数据库。 环境:D6 SQL2000 SocketConnection 我刚刚用DataSetProvider1UpdateError事件查看了一下错误代码. 它是:1--->"Recoed not found or Changed by another user" 我就一个人在用啊为什么会出现这种错误呢? 我用 SQL ProFiler 监视了一下程序传给SQL 的语句,它们两个传过去的语句都是一样的, 但是用它在分析器中执行却不能更新数据 我再研究了一下。大致的原因如下: 因为我的表中有一个日期时间型的字段。它存储的数据如下:'2002-12-24 09:15:27.593' 但我的应用程序传给数据库的格式却为:'Dec 24 2002 9:15AM'我用这样的格式在分析器中查找不 到这样的记录,因为'.593'部份没有了,如果是'.000'就可以更新
不曉得你有沒有講錯,應該是BDE不能更新,而ADO可以,這是因為BDE有精準度問題,所以微秒部份須去掉,才不致Update找不到原本的紀錄。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
popmailzjw
一般會員


發表:7
回覆:18
積分:5
註冊:2002-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-14 15:36:46 IP:218.17.xxx.xxx 未訂閱
感谢你们的参与,我没有写错呀,的确是ADO不能更新,而ODBC可以。 而且我也不可能把微秒部分去掉,因为它是用GetDate()取得的。 应该总有一个解决方法吧?
popmailzjw
一般會員


發表:7
回覆:18
積分:5
註冊:2002-05-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-14 15:36:57 IP:218.17.xxx.xxx 未訂閱
感谢你们的参与,我没有写错呀,的确是ADO不能更新,而ODBC可以。 而且我也不可能把微秒部分去掉,因为它是用GetDate()取得的。 应该总有一个解决方法吧?
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-14 18:25:39 IP:210.202.xxx.xxx 未訂閱
記得 ApplyUpdates 好像是 TTable 與 TQuery 的更新方法 而 TADOTable 與 TADOQuery 更新應該用 UpdateBatch 來作 我是雪龍 發表人 - bestlong 於 2003/04/14 18:26:44
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-14 19:05:23 IP:203.204.xxx.xxx 未訂閱
引言: 記得 ApplyUpdates 好像是 TTable 與 TQuery 的更新方法 而 TADOTable 與 TADOQuery 更新應該用 UpdateBatch 來作 我是雪龍 發表人 - bestlong 於 2003/04/14 18:26:44
這邊講的是TClientDataSet不是TQuery也不是TADOQuery。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-14 19:11:40 IP:203.204.xxx.xxx 未訂閱
引言: 感谢你们的参与,我没有写错呀,的确是ADO不能更新,而ODBC可以。 而且我也不可能把微秒部分去掉,因为它是用GetDate()取得的。 应该总有一个解决方法吧?
試試將GetDate()改成CONVERT(DateTime, CONVERT(char(19), GetDate(), 20))
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
popmailzjw
一般會員


發表:7
回覆:18
積分:5
註冊:2002-05-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-15 08:35:15 IP:218.17.xxx.xxx 未訂閱
引言: 試試將GetDate()改成CONVERT(DateTime, CONVERT(char(19), GetDate(), 20))
我的意思是要求保留微秒部分
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-15 10:58:11 IP:203.204.xxx.xxx 未訂閱
引言: 我的意思是要求保留微秒部分
那你就要自己想辦法了,我還沒用力去想過,也沒有時間去想。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
系統時間:2024-03-29 14:27:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!