• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

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

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 25次 | 進入軟件測試論壇討論

    領測軟件測試網 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。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>