激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

ADO編程常見(jiàn)問(wèn)題及解決辦法

時(shí)間:2024-11-02 10:46:46 ADO 我要投稿
  • 相關(guān)推薦

ADO編程常見(jiàn)問(wèn)題及解決辦法

  (一)使用ADO編程判斷一個(gè)表是否存在

 。1)、同樣判斷一個(gè)表是否存在,也可以用是否成功地打開(kāi)它來(lái)判斷,十分方便,例如: try{ m_pRecordset->Open(_variant_t("mytable"), _variant_t((IDispatch *)m_pConnection,true), adOpenKeyset, adLockOptimistic, adCmdTable); } catch (_com_error &e) { ::MessageBox(NULL,"該表不存在。","提示",MB_OK │ MB_ICONWARNING); } (2)、要不然可以采用麻煩一點(diǎn)的辦法,就是在MS-SQL服務(wù)器上的每個(gè)數據庫中都有一個(gè)名為sysobjects的表,查看此表的內容即知指定的表是否在該數據庫中。 (3)、同樣,每個(gè)數據庫中都有一個(gè)名為T(mén)ABLES的視圖(View),查看此視圖的內容即知指定的表是否在該數據庫中。

  (二)ADO編程使用AppendChunk的問(wèn)題

  當用AddNew方法剛剛向記錄集內添加一個(gè)新記錄之后,不能首先向一個(gè)長(cháng)數據字段(image類(lèi)型)寫(xiě)入數據,必須先向其他字段寫(xiě)入過(guò)數據之后,才能調用AppendChunk寫(xiě)該字段,否則出錯。也就是說(shuō),AppendChunk不能緊接在A(yíng)ddNew之后。另外,寫(xiě)入其他字段后還必須緊接著(zhù)調用AppendChunk,而不能調用記錄集的Update方法后,才調用AppendChunk,否則調用AppendChunk時(shí)也會(huì )出錯。換句話(huà)說(shuō),就是必須AppendChunk在前,Update在后。因而這個(gè)時(shí)候就不能使用帶參數的AddNew了,因為帶參數的AddNew會(huì )自動(dòng)調用記錄集的Update,所以AppendChunk就跑到Update的后面了,就只有出錯了!因此,這時(shí)應該用不帶參數的AddNew。我推測這可能是MS SQL 7.0的問(wèn)題,在MS SQL 2000中則不存在這些問(wèn)題,但是AppendChunk仍然不能在Update之后。

  (三)使用ADO編程綁定字符串型字段問(wèn)題

  如果要綁定的字段是字符串類(lèi)型,則對應的字符數組的元素個(gè)數一定要比字段長(cháng)度大2(比如m_szau_fname[22],其綁定的字段au_fname的長(cháng)度實(shí)際是20),不這樣綁定就會(huì )失敗。

  (四)使用ADO編程重復使用命令對象問(wèn)題

  一個(gè)命令對象如果要重復使用多次(尤其是帶參數的命令),則在第一次執行之前,應將它的Prepared屬性設置為T(mén)RUE。這樣會(huì )使第一次執行減慢,但卻可以使以后的執行全部加快。

  (五)使用ADO編程SafeArray問(wèn)題

  在初學(xué)使用中,我曾遇到一個(gè)傷腦筋的問(wèn)題,一定要注意: 在定義了SAFEARRAY的指針后,如果打算重復使用多次,則在中間可以調用::SafeArrayDestroyData釋放數據,但決不能調用::SafeArrayDestroyDescriptor,否則必然出錯,即使調用SafeArrayCreate也不行。例如: SAFEARRAY *psa; ...... //When the data are no longer to be used: ::SafeArrayDestroyData( psa); 我分析在定義psa指針時(shí),一個(gè)SAFEARRAY的實(shí)例(也就是SAFEARRAY描述符)也同時(shí)被自動(dòng)建立了。但是只要一調用::SafeArrayDestroyDescriptor,描述符就被銷(xiāo)毀了。 所以我認為::SafeArrayDestroyDescriptor可以根本就不調用,即使調用也必須在最后調用。

  (六)ADO編程打開(kāi)記錄集時(shí)的問(wèn)題

  在打開(kāi)記錄集時(shí),在調用Recordset的Open方法時(shí),其最后一個(gè)參數里一定不能包含adAsyncExecute,否則將因為是異步操作,在讀取數據時(shí)無(wú)法讀到數據。

【ADO編程常見(jiàn)問(wèn)題及解決辦法】相關(guān)文章:

有關(guān)ADO與ADO.NET的區別與介紹09-15

Java編程常見(jiàn)問(wèn)題匯總10-05

CAD字體常見(jiàn)問(wèn)題解決辦法09-19

vc++中的ADO的應用08-22

2017業(yè)余選手網(wǎng)球比賽常見(jiàn)問(wèn)題與解決辦法08-04

金蝶KIS專(zhuān)業(yè)版固定資產(chǎn)模塊常見(jiàn)問(wèn)題及解決辦法12-15

鼠標失靈的解決辦法09-29

數控編程的技巧09-10

高級數控編程:子程序調用及編程舉例06-01

CPU功耗過(guò)大的解決辦法09-19

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频