• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            力為的技術博客

            聯(lián)系 聚合 管理
              154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

            VC+ADO操作數(shù)據庫注意事項(1)

                     用ADO在VC下進行數(shù)據庫客戶端開發(fā),稍有不甚就會出現(xiàn)致命錯誤,錯誤提示又匪夷所思,因此需要小心翼翼。最近做的個項目時,我是深深的體會到這一點。針對出現(xiàn)的問題,我總結了以下幾點。


            說明:1、用VC開發(fā)數(shù)據庫系統(tǒng)真是痛苦!
                        2、以下的操作都是針對Access數(shù)據庫。



            1、_RecordsetPtr::Open與_RecordsetPtr::Close要對應使用
            一個RescordSet被Open后,一定要Close掉。并且不能被連續(xù)Open,即不能嵌套使用。這種錯誤,往往發(fā)生在函數(shù)之間的調用。兩個函數(shù)使用同一個_RecordsetPtr,但其中的一個函數(shù)中未Close就調用另一個函數(shù),災難就此發(fā)生。

            2、_RecordsetPtr與_CommandPtr
            兩者都可以完成記錄的查詢、更新、插入操作。但在使用中,我感覺用_RecordsetPtr完成查詢功能,用_CommandPtr完成插入和更新操作比較方便

            3、對日期操作
            日期操作感覺很麻煩,不僅僅是因為日期由多種格式(短日期、長日期……)。VC中有的時間類型有COleDateTime和CTime,使用COleDateTime便于與ADO交換數(shù)據。
            1)日期的插入、更新
            把日期Format字符串就可以了。注意用'%s'。如:

             CString szSQL;
             szSQL.Format(
            "insert into T_TABLE(NAME, BIRTHDAY \
               values('%s''%s')"
               szName,            //CString      szName;
               dtBirth.Format()); //COleDateTime dtBirth;

             

            2)日期的比較
            COleDateTime的格式要與數(shù)據庫中的日期格式一致。否則定出問題。如對短日期類型:
            注意用#%s#

            CString szSQL;
            szSQL.Format(
            "select * from T_GUEST where GUEST_JOINTIME>=#%s# and GUEST_JOINTIME<=#%s#"
                  m_dtJoinStart.Format(VAR_DATEVALUEONLY), 
                          m_dtJoinEnd.Format(VAR_DATEVALUEONLY));

             

            3)Now()函數(shù)
            Access中有個Now()函數(shù),用來直接獲取當前系統(tǒng)的時間,并且可以在SQL中使用。因此,當需要與當前時間比較時,就不需要通過客戶端來取了。

            歡迎批評指正

            posted on 2006-01-04 22:28 力為 閱讀(8098) 評論(13)  編輯 收藏 引用 所屬分類: Tools

            評論

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-01-05 12:26 小明
            直接使用ADO確實很麻煩,要try catch,還要不斷檢查返回值,跟COM打交道
            但是你可以寫一個封裝,就方便多了
            網上這樣的代碼也很多  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-01-05 17:03 力為
            小明兄說的有道理。~~~
            等我找到個好用的告訴大家。:)
              回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-02-26 09:49 之玨
            你好象很強啊!我想跟你交流一下,我有一些VC編程基礎,但還沒到獨立開發(fā)程序的水平,公司卻要我編一個數(shù)據庫的程序,希望你能幫助我,改天請你吃飯!  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-03-14 10:06 fred
            我也是VC++剛入門,想和大家學習學習!

            謝謝  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-03-30 13:02 小石
            對第一條有個問題:調用_RecordsetPtr.release()會不會自動調用close().我以前在VB下對ADO做操作養(yǎng)成習慣:只Close connection!像C++ ADO里面的這些_RecordsetPtr既然是smart pointer,作用期過了以后不會自動釋放嗎?  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-04-26 17:55 no
            我自己寫了一個 ADO操作的 類,已經在一些項目中測試的不錯了。使用也很方便。有說明。需要可一個給我發(fā)郵件。
            fly_yst@163.com  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2006-06-08 16:02 力為
            VC+ADO操作數(shù)據庫注意事項(2)

            1、數(shù)據庫鏈接
            當Access設置密碼后,鏈接Access的鏈接字符串應該這樣寫:
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mdb;Persist Security Info=False;Jet OLEDB:Database Password=yourpsw;"

            2、 數(shù)據庫中的表的名字不可以為user
            3、圖片存取
            二進制數(shù)據在Access中以OLE對象存儲。網上有專文。
              回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2007-03-19 20:24 sunny
            謝謝指教阿  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2007-10-17 18:37 HK
            VC開發(fā)數(shù)據庫服務程序真是痛苦啊。
            TNND,一不小心,數(shù)據庫連接出錯,數(shù)據庫執(zhí)行報錯,總之,防不勝防的錯誤一個接一個,還是BCB開發(fā)數(shù)據庫應用好!  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2007-11-17 17:01 happyhell
            網上有個比較好的類,可以參考,具體的你去WWW.VCKBASE.COM上看看,成真 寫的。  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2008-02-26 16:50 HENLY
            不是廣告:第一和第二可以分開看
            第一
            若可以做到在"WOW"(魔獸 游戲)里根據我門所給的文件(服務器名,玩家名).其中之一實現(xiàn)要求的有報酬.(全部的更多!)
            要求
            1.可以根據我們所給的服務器正確的選擇,(要百分之九十九以上),游戲的一點延時可以忽略(一秒以內).
            基本功能就是隨便我在他制作軟件里選擇哪個服務器,都可以進入到游戲的相對應的那個服務器里面去.
            如果給您一個內存開始為(00CFC134)的地址,然后讀取下面的全部內容. 可以做到嗎



            有興趣的請聯(lián)系我QQ,375045164)或BELIVETHEFUTURE@HOTMAIL.COM




















            第二
            1、VC技能要求:精通VC++網絡以及數(shù)據庫編程,有VC++項目開發(fā)2年或以上,有游戲開發(fā)經驗者優(yōu)先;
            必須了解以下內容:
            i.Windows下TCP/IP網絡編程
            ii.Windows多線程編程
            iii.Windows界面編程
            iv.常用的數(shù)據結構及算法
            2、精通匯編與反匯編的操作.(關于底層的最好)
            3、精通Oracle、SQL Server、Mysql等數(shù)據庫開發(fā);
            4、工作要細心和有責任心.

            有興趣的請發(fā)簡歷到(如有作品請附帶)QQ,375045164或BELIVETHEFUTURE@HOTMAIL.COM

            軟件開發(fā)  回復  更多評論
              

            # re: VC+ADO操作數(shù)據庫注意事項(1) 2008-07-26 08:25 lengbufang
            謝謝!!  回復  更多評論
              

            # shi 2010-08-23 16:37 uk dress
            wonderful  回復  更多評論
              

            国内精品久久久久久99| 亚洲欧美成人久久综合中文网| 久久久国产精品| 草草久久久无码国产专区| 国产精品激情综合久久| 国产精品久久久香蕉| 97精品伊人久久大香线蕉app| 日本久久久久亚洲中字幕| 丁香久久婷婷国产午夜视频| 久久久久久久久66精品片| 久久精品国产91久久麻豆自制 | 久久99精品久久久久久9蜜桃| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久99精品久久久久久水蜜桃| 波多野结衣AV无码久久一区| 日本福利片国产午夜久久| 欧美日韩久久中文字幕| 91久久福利国产成人精品| 三上悠亚久久精品| 久久亚洲AV无码西西人体| 国产精品久久久久久影院 | 亚洲日本va中文字幕久久| 久久99精品久久久久久齐齐| 国产日产久久高清欧美一区| 久久精品国产亚洲AV香蕉| 久久国产乱子伦精品免费午夜| 99久久精品国内| 99久久超碰中文字幕伊人 | 久久精品亚洲福利| 久久久久一区二区三区| 久久精品www人人爽人人| 伊人久久综合无码成人网| 亚洲欧美一区二区三区久久| 久久久噜噜噜久久中文字幕色伊伊| 国产国产成人精品久久| 国产精品久久免费| 精品久久无码中文字幕| 久久亚洲国产中v天仙www| 国产欧美一区二区久久| 色综合色天天久久婷婷基地| 亚洲一区中文字幕久久|