zoukankan      html  css  js  c++  java
  • 数据库类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

  • 相关阅读:
    java jar包运行方法
    java记录异常日志的7条规则
    java与javax有什么区别?
    java程序如何优化--技巧总结
    java中各种时间格式的转化
    java GC(Garbage Collector) | System.gc()
    java位移操作
    java 逻辑运算符 短路(条件操作)
    命令行运行java
    java使用Runtime.exec()运行windwos dos或linux shell命令
  • 原文地址:https://www.cnblogs.com/Dincat/p/13457876.html
Copyright © 2011-2022 走看看