수색…


데이터베이스에서 필드 읽기

Public Function GetUserFirstName(UserName As String) As String
    Dim Firstname As String = ""
    
    'Specify the SQL that you want to use including a Parameter
    Dim SQL As String = "select firstname from users where username=@UserName"
    
    'Provide a Data Source
    Dim DBDSN As String = "Data Source=server.address;Initial Catalog=DatabaseName;Persist Security Info=True;User ID=UserName;Password=UserPassword"

    Dim dbConn As New SqlConnection(DBDSN)

    Dim dbCommand As New SqlCommand(SQL, dbConn)

    'Provide one or more Parameters
    dbCommand.Parameters.AddWithValue("@UserName", UserName)

    'An optional Timeout
    dbCommand.CommandTimeout = 600

    Dim reader As SqlDataReader
    Dim previousConnectionState As ConnectionState = dbConn.State
    Try
        If dbConn.State = ConnectionState.Closed Then
            dbConn.Open()
        End If
        reader = dbCommand.ExecuteReader
        Using reader
            With reader
                If .HasRows Then
                    'Read the 1st Record
                    reader.Read()
                    'Read required field/s
                    Firstname = .Item("FirstName").ToString
                End If

            End With

        End Using

    Catch
        'Handle the error here
    Finally
        If previousConnectionState = ConnectionState.Closed Then
            dbConn.Close()
        End If
        dbConn.Dispose()
        dbCommand.Dispose()

    End Try
    'Pass the data back from the function
    Return Firstname

End Function

위의 함수를 사용하는 것은 간단합니다 :

   Dim UserFirstName as string=GetUserFirstName(UserName)

데이터베이스에서 읽고 DataTable로 반환하는 간단한 함수

이 간단한 함수는 지정된 Select SQL 명령을 실행하고 결과를 데이터 세트로 리턴합니다.

Public Function ReadFromDatabase(ByVal DBConnectionString As String, ByVal SQL As String) As DataTable
    Dim dtReturn As New DataTable
    Try
        'Open the connection using the connection string
        Using conn As New SqlClient.SqlConnection(DBConnectionString)
            conn.Open()

            Using cmd As New SqlClient.SqlCommand()
                cmd.Connection = conn
                cmd.CommandText = SQL
                Dim da As New SqlClient.SqlDataAdapter(cmd)
                da.Fill(dtReturn)
            End Using
        End Using
    Catch ex As Exception
        'Handle the exception
    End Try


    'Return the result data set
    Return dtReturn
End Function

이제 아래 코드에서 위의 함수를 실행할 수 있습니다.

Private Sub MainFunction()
    Dim dtCustomers As New DataTable
    Dim dtEmployees As New DataTable
    Dim dtSuppliers As New DataTable


    dtCustomers = ReadFromDatabase("Server=MYDEVPC\SQLEXPRESS;Database=MyDatabase;User Id=sa;Password=pwd22;", "Select * from [Customers]")
    dtEmployees = ReadFromDatabase("Server=MYDEVPC\SQLEXPRESS;Database=MyDatabase;User Id=sa;Password=pwd22;", "Select * from [Employees]")
    dtSuppliers = ReadFromDatabase("Server=MYDEVPC\SQLEXPRESS;Database=MyDatabase;User Id=sa;Password=pwd22;", "Select * from [Suppliers]")

End Sub

위 예제는 SQL Express 인스턴스 "SQLEXPRESS"가 현재 "MYDEVPC"에 설치되어 있고 데이터베이스 "MyDatabase"에 "Customers", "Suppliers"및 "Employees"테이블이 있고 "sa"사용자 암호가 "pwd22"라고 가정합니다. 설정에 따라이 값을 변경하여 원하는 결과를 얻으십시오.

스칼라 데이터 가져 오기

이 간단한 함수는 정확히 하나의 필드에서 하나의 레코드 쿼리 결과 값을 가져 오는 데 사용할 수 있습니다.

Public Function getDataScalar(ssql As String)
    openConnection()

    Try
        Dim q As New MySqlCommand

        q.Connection = db
        q.CommandText = ssql
        getDataScalar = q.ExecuteScalar

    Catch ex As Exception
        'Exception
    End Try
End Function

이것을 어떻게 사용 하는가:

Dim userid as String = getDataScalar("select username from user where userid=99")

변수 'username'은 해당 쿼리의 결과로 사용자 이름 필드의 값으로 채워집니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow