• <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>

            力為的技術(shù)博客

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

            VC+ADO操作數(shù)據(jù)庫(kù)注意事項(xiàng)(1)

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


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



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

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

            3、對(duì)日期操作
            日期操作感覺(jué)很麻煩,不僅僅是因?yàn)槿掌谟啥喾N格式(短日期、長(zhǎng)日期……)。VC中有的時(shí)間類型有COleDateTime和CTime,使用COleDateTime便于與ADO交換數(shù)據(jù)。
            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ù)據(jù)庫(kù)中的日期格式一致。否則定出問(wèn)題。如對(duì)短日期類型:
            注意用#%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中有個(gè)Now()函數(shù),用來(lái)直接獲取當(dāng)前系統(tǒng)的時(shí)間,并且可以在SQL中使用。因此,當(dāng)需要與當(dāng)前時(shí)間比較時(shí),就不需要通過(guò)客戶端來(lái)取了。

            歡迎批評(píng)指正

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

            評(píng)論

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

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

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

            # re: VC+ADO操作數(shù)據(jù)庫(kù)注意事項(xiàng)(1) 2006-03-14 10:06 fred
            我也是VC++剛?cè)腴T,想和大家學(xué)習(xí)學(xué)習(xí)!

            謝謝  回復(fù)  更多評(píng)論
              

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

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

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

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

            2、 數(shù)據(jù)庫(kù)中的表的名字不可以為user
            3、圖片存取
            二進(jìn)制數(shù)據(jù)在Access中以O(shè)LE對(duì)象存儲(chǔ)。網(wǎng)上有專文。
              回復(fù)  更多評(píng)論
              

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

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

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

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



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




















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

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

            軟件開(kāi)發(fā)  回復(fù)  更多評(píng)論
              

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

            # shi 2010-08-23 16:37 uk dress
            wonderful  回復(fù)  更多評(píng)論
              

            99久久免费国产精品特黄| 国内精品久久久久久麻豆| 中文国产成人精品久久不卡| 久久99久国产麻精品66| 国产一级做a爰片久久毛片| 日本加勒比久久精品| 久久青青草原精品国产| 久久亚洲中文字幕精品一区| 无码精品久久久天天影视| 久久99精品国产99久久6| 色综合久久中文字幕无码| 久久久WWW成人免费精品| 久久精品人成免费| 久久亚洲国产成人影院| 国产AⅤ精品一区二区三区久久 | 国产麻豆精品久久一二三| 精品久久人人做人人爽综合| 久久久久亚洲AV无码专区体验| 久久精品成人免费观看97| 精品999久久久久久中文字幕| 久久精品国产免费观看| 国产精品99久久久久久猫咪| 久久精品国产亚洲av日韩| 久久久久久久久久久| 美女久久久久久| 久久久久无码精品| 狠狠综合久久综合中文88| 久久夜色精品国产亚洲| 久久久久国产精品熟女影院| 久久国产精品无| 色青青草原桃花久久综合| 久久久91人妻无码精品蜜桃HD| 99久久亚洲综合精品网站| 久久久久久久尹人综合网亚洲| 久久99亚洲网美利坚合众国| 久久亚洲精精品中文字幕| 久久久亚洲欧洲日产国码是AV| 香蕉aa三级久久毛片| 中文字幕无码久久久| 亚洲国产精品高清久久久| 久久久久亚洲AV无码网站|