【发布时间】:2020-10-25 23:34:20
【问题描述】:
当搜索一个用户的全名并被找到时。我想从所有表格列中检索其余用户信息并将它们显示在文本框中。例如 textbox1=ID、textbox2=userInitials、textbox3=userEmail
当我运行下面的代码时,我收到消息框“找到用户”,但我不知道这是否真的有效,因为我没有返回任何值。我该怎么做?非常感谢。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim searchQuery As String = "Select * from userInfoTable where [userFullName]= '" & SearchName.Text & "'"
ExecuteQuery(searchQuery)
MessageBox.Show("User Found.")
End Sub
Public Sub ExecuteQuery(query As String)
Dim command As New SqlCommand(query, connection)
connection.Open()
command.ExecuteNonQuery()
connection.Close()
End Sub
【问题讨论】:
-
嗯 -
ExecuteNonQuery适用于不返回任何数据的 SQL 命令 - 例如INSERT、UPDATE或DELETE。如果要获取数据,则需要使用ExecuteReader并遍历读取器返回的行,或者用它填充数据表 -
您需要学习如何参数化您的查询!这对注入很开放,因此是一个巨大的安全漏洞。
-
嗨@Larnu 我对编码世界很陌生,请问您对查询进行参数化是什么意思,您能给我指出一个好的学习资源吗?谢谢。
标签: sql-server visual-studio winforms return-value