Я столкнулся с этим случайно, когда искал что-то еще. Есть более простой способ сделать это.
Я бы соблазнился создать какой-нибудь общий код приложения для этого. Создайте папку app_code в своем проекте и файл common.vb со следующим кодом:
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Imports System.Data
Namespace GetDBResult
Public Class DB
Public Shared Function GetRecord(sql As String) As String
Dim result As String
Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("YourConnectionString").ToString)
connection.Open()
Dim command As New SqlCommand(sql, connection)
Try
If command.ExecuteScalar IsNot System.DBNull.Value Then
result = command.ExecuteScalar
Else
result = ""
End If
Catch ex As Exception
Throw ex
Finally
connection.Close()
End Try
Return result
End Function
End Class
End Namespace
Оттуда вы сможете вызывать функцию из любого кода VB, что позволяет очень легко получить поле из базы данных для назначения его метке. Следующим образом:
Dim sql as string = "your sql query which should return one row and column"
label1.text = DB.GetRecord(sql)
Сохраняет много повторного набора.
О, не забудьте импортировать ваш код в любой VB, в котором вы хотите использовать свой код приложения
Imports GetDBResult
Большое спасибо,
Neil