<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大鳥的學習樂園
    路漫漫其修遠兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0

    使用ADO控件可以方便的在VB6中訪問ODBC數據庫,但是通過直接放置ADODS控件來獲得ADO的數據連接比較麻煩,我們可以在VB工程中創建一個公共數據模塊,將ADO控件的初始化、建立連接、關閉連接等操作都寫到函數中,這樣就可以在工程的其他模塊中共享調用這個ADO連接。
    一次完整的ADO調用操作分為如下幾個步驟:
    1.打開ADO到數據庫的連接,初始化ADO RECORDSET集。
    2.通過寫入SQL語句執行查詢并返回查詢結果RECORDSET集;或者可以通過寫入SQL語句執行相應數據庫操作。
    3.釋放RECORDSET集,關閉數據庫連接。
    需要注意的是,每個動態創建的ADO同時只能被一個過程調用,如果需要進行多表并行操作,可能需要在公共數據模塊中建立多個動態ADO。
    下面是相關的代碼:

    '-----------------------------------------------------------------
    '如下代碼保存在名為my.bas的工程模塊中
    Public CONN As Adodb.Connection        '定義ADO CONNECTION對象
    Public RS As Adodb.Recordset           '定義ADO RECORDSET對象
    '****************************
    '打開數據庫連接
    '****************************
    Function ConnOpen()                   
      Dim ASTR As String
      Set CONN = New Adodb.Connection
      ASTR = GetDatabasePath  'MDB文件數據庫路徑
      CONN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ASTR & ";Persist Security Info=False"
      '本例的ODBC連接為JET4.0的直接到MDB文件的連接,如果使用ODBC數據源可以使用如下CONNECTION串:
      'Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=數據源名稱;Initial Catalog=數據表庫名稱
      CONN.Open
      Set RS = New Adodb.Recordset
      With RS Do
        ActiveConnection = CONN
        CursorType = adOpenDynamic
        LockType = adLockOptimistic
      End With
    End Function
    '****************************
    '關閉數據庫
    '****************************
    Function ConnClose()                       
       Set RS = Nothing
       CONN.Close
       Set CONN = Nothing
    End Function

    '**********************************************************
           獲得數據庫路徑
    本例數據庫保存在程序目錄下的DBS子目錄中,名為db1.mdb
    '**********************************************************
    Public Function GetDatabasePath() As String
        Dim sPath As String
        If Right$(App.Path, 1) = "\" Then
            sPath = App.Path + "dbs\"
        Else
            sPath = App.Path + "\dbs\"
        End If
       
        GetDatabasePath = sPath + "db1.mdb"
    End Function
    'End of my.bas
    '-----------------------------------------------------------------

    如下示例代碼為my.bas的使用方法:
    '-----------------------------------------------------------------
    '使用RS對象執行SELECT語句
    'TableName和FieldName分別為表名和字段名
    '查詢結果保存在數組s中
    Private Sub RunSelectCommand()
        Dim s(99) as String
        Dim i as Integer
        i=0
        Call my.ConnOpen
            my.RS.Open "SELECT * FROM TableName"
            While Not RS.EOF
                i=i+1
                If Not isNull(my.RS!FieldName) Then s(i)=Cstr(my.RS!FieldName)
                RS.MoveNext
            Wend
        Call my.ConnClose
    End Sub
    '使用CONN對象執行UPDATE/DELETE/INSERT語句
    'SQL語句放在變量sSQL中
    Private Sub RunSqlCommand()
        Dim sSQL as String
        Call my.ConnOpen
            my.CONN.Execute sSQL
        Call my.ConnClose
    End sub
    '對于DATAGRID和DATAREPORT這些需要DATASOURCE的控件可以做如下操作
    '使用SELECT語句打開RS的數據集
    Set OBJ.Datasource=my.RS
    '---------------------------------------------------------------------
    這個方法對于開發簡單小型的MIS系統很實用,也可以在報表和數據表中使用,缺點是在多表操作和函數嵌套調用時,一個動態ADO對象不能同時執行兩個工作,后一個寫入的SQL語句會覆蓋先寫入的SQL語句,當在回到前一個過程時,會因為字段找不到而出錯。因此如果可能需要進行多表操作,可以嘗試多定義幾個CONN 和RS對象。

    posted on 2008-11-26 07:24 大鳥 閱讀(362) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 巨波霸乳在线永久免费视频| 国产成人无码精品久久久免费| 无码精品国产一区二区三区免费| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲男人天堂2022| 色老头永久免费网站| 亚洲欧洲综合在线| 18禁美女裸体免费网站| 亚洲特级aaaaaa毛片| 无码永久免费AV网站| 色偷偷亚洲第一综合网| 亚洲AV日韩精品一区二区三区| 特级无码毛片免费视频| 久久精品亚洲福利| 一区二区三区无码视频免费福利| 亚洲色欲色欲综合网站| 蜜臀98精品国产免费观看| 久久狠狠爱亚洲综合影院| 日韩免费视频在线观看| 免费视频精品一区二区| 亚洲成A人片在线观看无码不卡| 日韩人妻无码精品久久免费一 | 四虎影视在线看免费观看| 亚洲人AV永久一区二区三区久久| 成人A毛片免费观看网站| 中文字幕亚洲精品| 免费被黄网站在观看| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 免费A级毛片无码A| 久久久久久国产a免费观看不卡| 亚洲高清在线视频| 男男AV纯肉无码免费播放无码| 鲁死你资源站亚洲av| 亚洲自偷自偷图片| 免费大片黄在线观看yw| 国产亚洲成在线播放va| 亚洲av色影在线| 色视频色露露永久免费观看| 成人A片产无码免费视频在线观看| 亚洲国产高清在线精品一区| 免费永久看黄在线观看app|