1. 程式人生 > 實用技巧 >資料庫類ADODB命令記錄集VB6 ADO檔案處理開啟

資料庫類ADODB命令記錄集VB6 ADO檔案處理開啟

介紹 這基本上是一個數據庫類。在這個專案中,我們連線到SQL Server 2000。我們插入、更新、刪除和select查詢。同時填補網格不使用任何資料控制。在這個專案中,我也使用檔案處理。 使用的程式碼 首先,建立類的私有成員。類的三個成員給出如下: 隱藏,複製Code

Private conConnection As New ADODB.connection
Private cmdCommand As New ADODB.Command
Public rstRecordSet As New ADODB.Recordset

ADODB.connection 首先,初始化adodb連線。這個物件是用來連線資料庫。 ADODB.Command 第二,初始化命令。該物件用於執行資料庫查詢。 ADODB.Recordset 第三,初始化記錄集。這個物件有多種用途。我以後會解釋。 隱藏,複製Code

Public Sub connection()
On Error GoTo err1:
    Dim txtserver As String
    Dim txtuser As String
    Dim txtpassword As String
        Dim Filename As String
        Filename = "c:\Label.txt"
        Open (Filename) For Input As #1
        Line Input #1, txtserver
        Line Input #1, txtuser
        Line Input #1, txtpassword
 Close #1
        conConnection.ConnectionString = "
Driver={SQL Server}; Server=" & txtserver & ";Database=Stock_Management;Uid=" & txtuser & ";Pwd=;" Exit Sub err1: Close #1 Exit Sub End Sub

這個函式與SQL Server 2000建立了聯絡。這是一個受信任連線,但是它也可以用於非可信連線。這是一個使用者友好的聯絡。因此,在這裡,我使用檔案處理,它只是開啟檔案並讀取伺服器名稱、使用者名稱和密碼。 為此,我宣告這三個變數,txtserver, txtuser txtpassword。首先,開啟物件,開啟檔案讀不會寫。行輸入# 1讀取行號的檔案和文字txtserver。下兩行相同的採取行動。下兩個變數儲存價值、txtuser txtpassword並關閉物件關閉檔案。然後,連線到SQL Server和退出功能。 隱藏,複製Code

Public Function conopen() As Boolean
On Error GoTo err1:
        If conConnection.State = 0 Then
        connection
                
                conConnection.Open
                conopen = True
        End If
 
err1:
If Error <> "" Then
MsgBox "Connect to fail"
conclose

       Exit Function
       End If
        
End Function

這個函式首先檢查連線,如果連線開啟的狀態離開沒有任何行動。其他明智如果連線關閉然後開啟連線,返回true。 注意:檢查連線狀態,我使用連線。狀態函式。如果狀態是一個意味著連線開放狀態是零的意思是連線關閉。 隱藏,複製Code

Public Sub insert_query(query As String)
         
        conopen
         
                With cmdCommand
                    .ActiveConnection = conConnection.ConnectionString
                    .CommandText = query
                    .CommandType = adCmdText
                    .Execute (query)
                End With
                
End Sub

這個函式接受一個查詢。Conopen是一個函式,我已經解釋了這個函式的工作。下一個行動的命令物件。首先cmdCommand變數活躍連線然後查詢。cmdCommand.CommandType adCmdText傳遞。adCmdText評估作為一個文字的定義。和cmdCommand。執行任何查詢和插入、選擇、刪除和更新。 隱藏,複製Code

Public Function rstRecordSetOpen()
        
    Call rstRecordSetclose
    
    If rstRecordSet.State = 0 Then
                
               With rstRecordSet
                        .CursorType = adOpenStatic
                        .CursorLocation = adUseClient
                        .LockType = adLockOptimistic
                        .Open cmdCommand
               End With
     End If

End Function

這個函式開啟記錄集物件填充資料。首先,它呼叫rstRecordSetclose函式關閉記錄集物件。沒有必要關閉記錄集。但有時,它會建立問題所以我們每次填充資料,我們必須關閉記錄集。如果你想更多的瞭解記錄集,請訪問該網站。 隱藏,複製Code

 Function fillcombo(ByRef combo As ComboBox, query As String, field As Integer)
    
     Call conopen
        
            With cmdCommand
                .ActiveConnection = conConnection.ConnectionString
                .CommandText = query
                .CommandType = adCmdText
            End With
            
        Call rstRecordSetOpen
           
    If rstRecordSet.EOF = False Then
        
            rstRecordSet.MoveFirst
            combo.Clear
                    Do
                            combo.AddItem (rstRecordSet.Fields(field))
                            rstRecordSet.MoveNext
                    Loop Until rstRecordSet.EOF = True
    End If
 
End Function

這個函式填充下拉列表框。此函式接受三個引數。 採取一個組合框的名字來查詢指定,例如,你寫一個查詢這樣的“選擇user_id User_name從user_table”。和你想要的所有的名稱顯示在組合框,然後通過引數1,完成後,退出功能。 隱藏,複製Code

Function getID(query As String, field As Integer) As Integer
    
     Call conopen
        
            With cmdCommand
                .ActiveConnection = conConnection.ConnectionString
                .CommandText = query
                .CommandType = adCmdText
            End With
            
        Call rstRecordSetOpen
        
    If rstRecordSet.EOF = False Then
            rstRecordSet.MoveFirst
            Dim a As Integer
            a = field
                    Do
                            a = rstRecordSet.Fields(field)
                            rstRecordSet.MoveNext
                            
                    Loop Until rstRecordSet.EOF = True
    End If
    
    getID = a

End Function

如果你想要任何查詢Id,然後你叫這個: 隱藏,複製Code

Public Function rstRecordSetclose()

    Set rstRecordSet = Nothing

End Function  

關閉記錄集,我們使用呼叫這個函式: 隱藏,複製Code

Public Function conclose()

        Set conConnection = Nothing
        Set cmdCommand = Nothing
        
End Function

這個函式關閉命令以及連線。 這裡有一些螢幕截圖來使用這個物件。 在這裡,我們建立一個物件並建立一個連線。我給這裡的程式碼物件是如何工作的。 隱藏,收縮,複製Code

Private Sub cmdOK_Click()
    
        Dim a As String
        Dim database As New clsDatabase
        
        check
        
    If LoginSucceeded = False Then
          
          Exit Sub
          
        Else
              If database.conopen = True Then
              a = "SELECT * from tbl_user where (
                  user_name = '" & txtUserName.Text & "') and (
                  user_password = '" & txtPassword.Text & "')"
     
      
            If database.getID(a, 0) <> 0 Then
                     LoginSucceeded = True
                   MsgBox "logon sucess full"
                   End
                   
                Else
                     MsgBox "Invalid Password, try again!", , "Login"
                     txtPassword.SetFocus
                     SendKeys "{Home}+{End}"
            End If
            Else
            Unload Me
            Set database = Nothing
            frmDatabase.Show
            
            Exit Sub
            End If
            
    End If
       
End Sub 

這是一個行動cmdOK按鈕。當我們點選它時,它會建立一個新的物件在資料庫的名稱。首先,我們稱之為conOpen函式。如果連線是開放的,我們為獲得一個特定的行執行查詢。為了這個目的,我們稱之為getID函式。這個函式的工作是,第一,它執行的查詢,然後返回ID特定行。和提示登入成功的訊息。這是它的螢幕截圖。 有兩種,如果conConnection返回false,使用者名稱或密碼無效或連線不是構建。和訊息提示連線失敗。喜歡這裡。 如果無法連線到SQL Server 2000資料庫物件。然後提示連線失敗的訊息。當您點選OK,然後會出現一個視窗在螢幕上。你看到這三個文字框,在第一,伺服器名稱,標籤自動檢測您的SQL server 2000伺服器名稱,喜歡這裡。 然後你把使用者名稱和密碼,如果有,否則你離開空白並單擊Test按鈕。 隱藏,複製Code

Private Sub btntest_Click()
checkfile
data
If database.conopen = True Then
MsgBox "Connect to successfuly"
Unload Me
frmLogin.Show
Else
MsgBox "Connection fail"
End If
End Sub 

當你點選測試按鈕。首先,它去checkfile函式。 隱藏,複製Code

Function checkfile()
Dim fName As String
fName = "c:\Label.txt"
Dim oFSO As New FileSystemObject
    
  On Error GoTo ErrorHandler
 oFSO.DeleteFile (fName)
   

ErrorHandler:
On Error Resume Next
Set oFSO = Nothing

End Function

checkfile功能,首先它聲明瞭一個變數在幀的名字。幀需要檔案的路徑。然後我們宣告一個物件FileSystemObject oSFO的名字。它只有一個刪除的檔案的工作。然後,它可以追溯到在btnTest單擊事件。然後,btntest單擊事件呼叫另一個函式資料。我們看看t他跟蹤資料函式的工作。 隱藏,複製Code

Function data()
On Error GoTo err1

 Open "c:\Label.txt" For Append As #1
    Print #1, Me.txtservername
    Print #1, Me.txtusername
    Print #1, Me.txtpassword
      Close #1

If Error <> "" Then
err1:
Close #1
data
Exit Function
End If
End Function 

注:詳細開啟 OPEN的主要功能是將檔案編號(filenum&)與檔案或物理裝置相關聯,併為讀取和/或寫入該裝置做好準備。然後,在引用該檔案的每條語句中使用該檔案編號,而不是它的名稱。可以使用自由檔案函式確定下一個可用檔案號,也可以自己選擇一個。OPEN語句包含關於檔案模式的資訊;即訪問檔案的方法:順序訪問(用於對新檔案的輸入/輸出,或對現有檔案的輸出)、隨機訪問和二進位制訪問。開語句通常由一個匹配的關語句來平衡。 如果檔案不存在,則開啟檔案,然後建立一個新檔案。上面,我們聲明瞭三個變數,分別採用伺服器名、使用者名稱和密碼。print函式將這些值寫入檔案,Close函式將關閉檔案。 以上是對clsDataBase物件的一點概述。 重要提示:如果執行此程式碼,首先將資料庫附加到我提供的SQL伺服器中。 如果你對這個話題有任何問題,請在下面的評論區留言。 本文轉載於:http://www.diyabc.com/frontweb/news2498.html