Visual Basic .NET Language
Доступ к данным
Поиск…
Чтение поля из базы данных
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» содержит таблицы «Клиенты», «Поставщики» и «Сотрудники», а пароль пользователя «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")
Имя переменной «имя пользователя» будет заполнено значением имени пользователя поля в результате этого запроса.