• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        Visual Basic訪問數據庫的經常見問題

        Visual Basic訪問數據庫的經常見問題

        更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

        VB6.0的數據訪問技術有無任何的改進?
        VB6.0的數據訪問技術有了許多改進:
        1. ADO2.0/OLE DB 數據庫連接更廣泛。
        2. 新的Oracle schema及Stored procedure設計能力。
        3. Data Environment 可以設計基于ADO的數據庫連接。
        4. 整合新的Report Designer。
        5. MHFlexGrid控件可顯示分層數據。
        6. 改進的Data Binding技術。
         

        在Visual Basic 6.0中什么是 Data Report Designer?
        微軟的Visual Basic 6.0 Data Report Designer是內嵌于VB6.0的分層式報表設計器。Report Designer 使開發者能從新的Data Environment Designer 中用把對象拖放入分級的報表設計器中,來創建基于文本的,單級或多級的報表,可用于打印或保存為txt或html格式的文件。另外,Data Report Designer 便于VB6.0 開發人員以程序方式控制他們整個報表的操作,就像數據集成和驗證,都在VB6.0 的開發環境中完成。該工具與VB5 所帶的Crystal Report 工具相比,其與開發環境的集成程度有了較大程度的提高。
        " 我查詢 ADO recordset的RecordCount屬性總是返回 -1。
        在ADO 1.5版本時當我們用adOpenForwardonly 游標類型打開記錄集時,RecordCount屬性返回 -1,在ADO 2.0, 2.1和2.5版本時用adOpenDynamic類型也會發生這種情況。因此如果要訪問記錄集的RecordCount屬性,請使用adOpenKeyset 或 adOpenStatic作為Server端的游標或使用客戶端的游標打開記錄集。另外請注意使用的LockType,有些LockType會強制改變游標類型。如果數據供給程序不支持你所設的游標類型,數據供給程序可能會使用一種相近的游標作為替換,也造成游標類型的改變,請同時參照數據供給程序的文檔。
         

        如何在VB中使用ADO SHAPE Command 實現分層記錄集?
        分層記錄集通過客戶端游標引擎實現的MSDataShape provider提供數據。層次結構的記錄有點類似于使用JOIN 和 GROUP BY 的SQL 語句,但又有不同,后者返回的記錄集包含了主表和從表的字段,而前者的記錄集僅含有主表的字段,另外,這個記錄集也含有一個附加的字段代表相關從表的數據,你可以將它賦給另一個記錄集變量。當你為統計功能使用GROUP BY 和統計函數時,統計值總出現在記錄集上,而使用分層記錄統計信息會出現在主記錄集上而子記錄集還保存著子記錄的詳細內容。

        有三種類型的SHAPE可供選擇,基于關系的(Relation Based),基于參數的(Parameter Based)和基于組的(Group Based) 語法如下:
        SHAPE {parent-statement}
        APPEND Aggregate
        | ({child-statement} [As Alias]
        RELATE parent-field TO child-field | parameter-marker
        [, parent-field TO child-field | parameter-marker ...])
        [, Aggregate | ({child statement})...]
        SHAPE {non-normalized-statement} [AS Alias]
        COMPUTE Aggregate
        | Alias
        | ({child-statement} [As Alias] RELATE parent-field TO
        child-field | parameter-marker)
        [, Aggregate | Alias | ({child-statement}...)]
        [BY grouping-field [, grouping-field]]
        SHAPE {non-normalized-statement} [AS Alias]
        BY grouping-field [, grouping-field]
        詳細信息請查閱:msdn\knowedge Base : Q189657
         

        如何使用ADO訪問加密的Access數據庫?
        如果你希望打開一個有口令保護的Access數據庫,你可以用以下三種語法的任一種:
        Dim MyConn As New ADODB.Connection
        MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
        MyConn.Properties("Data Source") = "C:\...\JetPassword.MDB"
        MyConn.Properties("Jet OLEDB:Database Password") = "MyPwd"
        MyConn.Open
        -或-
        Dim MyConn As New ADODB.Connection
        Dim strConn As String
        strConn = "Data Source=C:\...\JetPassword.MDB;" & _
        Jet OLEDB:Database Password=MyPwd"
        MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
        MyConn.Open ConnectionString:=strConn
        -或-
        Dim MyConn As New ADODB.Connection
        Dim strConn As String
        strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
        Data Source=C:\...\JetPassword.MDB;" & _
        "Jet OLEDB:Database Password=MyPwd"
        MyConn.Open ConnectionString:=strConn
        如果你打開一個數據庫使用了Jet安全保護,你需要使用以下方式:
        Dim MyConn As New ADODB.Connection
        MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
        MyConn.Properties("Data Source") = "C:\...\JetSecurity.MDB"
        MyConn.Properties("Jet OLEDB:System database") = "C:\...\System.MDW"
        MyConn.Open UserID:="Admin", Password:="MyPwd"
        -或-
        Dim MyConn As New ADODB.Connection
        Dim strConn As String
        strConn = "Data Source=C:\...\JetSecurity.MDB;" & _
        "Jet OLEDB:System database=C:\...\System.MDW"
        MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
        MyConn.Open ConnectionString:=strConn, _
        UserID:="Admin", Password:="MyPwd"
        -或-
        Dim MyConn As New ADODB.Connection
        Dim strConn As String
        strConn = "Provider=Microsoft.Jet.OLEDB.3.51;"
        "Data Source=C:\...\JetSecurity.MDB;" & _
        "Jet OLEDB:System database=C:\...\System.MDW"
        MyConn.Open ConnectionString:=strConn, _
        UserID:="Admin", Password:="MyPwd"

        注意:Jet 3.51 OLEDB provider 被設計用來打開Access97數據庫,如果你要打開Access 2000 請使用Jet 4.0 OLEDB provider,當然Jet 3.51 OLEDB provider也能打開Access 97。
        如果你希望使用Jet 4.0只要將Microsoft.Jet.OLEDB.3.51換成Microsoft.Jet.OLEDB.4.0
         

        我用VB編寫程序發布到某些計算機上,在連接Access數據庫時出現運行時錯誤"3706: ADO could not find the specified provider",這是什么問題?
        MDAC 2.0會安裝Jet OLE DB provider 3.51版本。MDAC 2.1會安裝Jet OLE DB provider 4.0版本,但如果機器上已經安裝了3.51版本,MDAC 2.1不會刪除也不會覆蓋舊的3.51版本,這就使節3.51和4.0同時存在與你的開發機上。當連接Access數據庫時,Jet OLE DB provider需要檢查provider的版本號。而你在制作安裝包時僅包含了MDAC 2.1,目標機上自然不可能有Jet OLE DB provider 3.51版本被安裝,這就是錯誤發生的原因。此時你需要修改你的程序,使其使用4.0的Jet OLE DB provider。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费99热在线观看| 最近免费中文字幕MV在线视频3| 免费人成黄页在线观看日本| 亚洲国产av无码精品| 自拍偷自拍亚洲精品播放| 在线中文高清资源免费观看| 亚洲日本一线产区和二线产区对比| 国产成人免费网站| 日产亚洲一区二区三区| 亚洲午夜免费视频| 亚洲AV无码成人专区| 岛国大片免费在线观看| 久久亚洲精品无码av| 亚洲黄片毛片在线观看| 2022国内精品免费福利视频 | 免费无码又爽又刺激高潮| 亚洲国产aⅴ成人精品无吗| 国产精品无码一二区免费| 免费精品视频在线| 国产精品国产亚洲精品看不卡| 国产猛男猛女超爽免费视频| 亚洲av永久无码精品国产精品| 59pao成国产成视频永久免费| 亚洲一级在线观看| 九月婷婷亚洲综合在线| a毛片免费全部在线播放**| 亚洲最新永久在线观看| 成人a免费α片在线视频网站| 国产精品亚洲一区二区三区| 亚洲女初尝黑人巨高清| 国产精品久久永久免费| 国产精品亚洲五月天高清| 亚洲精品V欧洲精品V日韩精品| 最近高清中文字幕免费| 精品久久久久亚洲| 亚洲电影一区二区| 日韩免费高清视频网站| 日本一区二区免费看| 亚洲永久网址在线观看| 亚洲男人的天堂www| 在线观看无码的免费网站|