В настоящее время я создаю инструмент на основе форм win в Visual Studio 2019, который считывает данные из базы данных SQL. У меня возникают трудности при извлечении поля из формы, в которой я работаю, в запрос sqlCommand.
Это часть моего VB-скрипта. Обратите внимание, что это прекрасно работает без фильтра, похожего на фамилию, и также работает, если я пишу его с жестко закодированной фамилией, такой как «Адамс». Я также могу заставить тот же лог c работать с использованием переменных непосредственно в SQL. Во всплывающем сообщении отображается сообщение «Адамс», как и ожидалось, но в сетке данных ничего не возвращается.
Снимки экрана, приведенные ниже, показывают результат запуска формы по желанию и при жестком кодировании в «Адамс».
Заранее благодарим за любую помощь:)
Public Class Form4
Public Sub BtnFetchAdastraUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFetchAdastraUser.Click
Dim connetionString As String = "Data Source=xxxxxx;Initial Catalog=xxxxxx;User ID=xxxxx;Password=xxxxx"
Dim dt As New DataTable()
Using connection As New SqlConnection(connetionString)
Dim command As New SqlCommand(
"select
[u].[UserRef],
[u].[UserName],
[u].[FullName]
from dbo.[Users][u]
where
[Obsolete] = 0
and [Surname] like '%" + Surname.Text + "%'", connection
)
command.Connection.Open()
Dim sqlAdaptr As New SqlDataAdapter(command)
Dim ds As New DataTable
sqlAdaptr.Fill(ds)
DataGridView1.DataSource = ds
MsgBox(Surname.Text)
command.Connection.Close()
End Using
End Sub
End Class