【发布时间】:2017-09-05 14:01:29
【问题描述】:
请帮忙,我正在尝试使用 SELECT,FROM,WHERE 子句在 datagridview 上显示指定的数据:
Private Sub showdata()
Dim identity As String = frmmgrusers.hdtxtid.Text
Dim dbcommand As String
dbcommand = "SELECT First_Name, Second_Name, Dob, ID_Card_No, Email, Username, [Password] FROM UsersTB WHERE ID='" & identity & "'"
adt = New OleDbDataAdapter(dbcommand, dbconn)
datatable = New DataTable
adt.Fill(datatable)
dgvusersreporting.DataSource = datatable
End Sub
但它什么也没显示,这个 showdata() 子程序是在表单加载时写入的,当用户单击其他表单中的按钮时,它将显示一个带有 datagridview 的表单,显示带有 ID 的指定数据。我试图删除 WHERE 子句:
dbcommand = "SELECT First_Name, Second_Name, Dob, ID_Card_No, Email, Username, [Password] FROM UsersTB"
它显示数据(奇怪...?)但我只需要带有 ID 的指定数据
【问题讨论】:
-
并不奇怪。如果没有具有该 ID 的记录,则不会显示任何内容。您应该始终使用参数,而不是将字符串粘合在一起进行查询。并且密码永远不应该以纯文本形式存储
-
我想我忘了我需要在 Select 上包含 ID,但我试过仍然没有出现 ID 有一个自动编号 1,2 的记录,...在 frmgrusers.hdtxtid 的其他表单上有一个 1 ,2 里面的文本是因为单击 datagridview 选定的单元格,所以当我从 frmgrusers 单击 datagridview 上的一个单元格时,它会填充 hdtxtid 并单击显示按钮,该按钮将显示另一个带有 datagridview 的表单,其中包含“SELECT First_Name, Second_Name, Dob, ID_Card_No, Email , 用户名, [密码] FROM UsersTB WHERE ID='" & identity & "'" 查询
标签: sql vb.net datagridview oledb oledbcommand