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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费人妻av无码专区| 国产精品成人免费视频网站京东 | 日韩a级毛片免费视频| 国产成人精品日本亚洲专| 国产成人精品免费午夜app| 亚洲日本国产乱码va在线观看| 中文字幕视频免费| 亚洲人成人77777网站不卡| 午夜国产精品免费观看| 亚洲熟妇自偷自拍另欧美| 日本人的色道www免费一区| 色婷婷精品免费视频| MM131亚洲国产美女久久| a级成人毛片免费图片| 亚洲精品午夜久久久伊人| 亚洲免费电影网站| 亚洲人成网站18禁止| 亚洲Av无码乱码在线观看性色| 国产裸体美女永久免费无遮挡| 亚洲午夜福利717| 2020久久精品国产免费| 亚洲AV无码国产剧情| 亚洲日本va在线视频观看| 99热这里只有精品6免费| 亚洲性色AV日韩在线观看| 免费播放美女一级毛片 | 精品亚洲成在人线AV无码| 精品剧情v国产在免费线观看| 免费福利在线观看| 亚洲国产一区国产亚洲| 在线观看免费毛片| 少妇性饥渴无码A区免费| 亚洲人成伊人成综合网久久| 亚洲精品麻豆av| 日本高清在线免费| 免费无码午夜福利片| 亚洲视频一区二区在线观看| 国产成人青青热久免费精品| 午夜无码A级毛片免费视频 | 人人公开免费超级碰碰碰视频| 亚洲AV无码久久|