vb.net 指定选择查询OLEDB数据库

Posted

技术标签:

【中文标题】vb.net 指定选择查询OLEDB数据库【英文标题】:vb.net Specified Select query OLEDB database 【发布时间】: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 & "'" 查询 【参考方案1】:

我不敢相信它真的有效...通过这个查询 "SELECT First_Name, Second_Name, Dob, ID_Card_No, Email, Username, [Password] FROM UsersTB where ID=" & identity & " " 虽然不明白ID='" & 的区别是什么 身份&"'转ID="$身份$""

【讨论】:

以上是关于vb.net 指定选择查询OLEDB数据库的主要内容,如果未能解决你的问题,请参考以下文章

ASPX VB.Net OleDb 将参数插入查询

VB.Net OLEDB ExecuteNonQuery INSERT INTO - 对数据库没有影响

如何在 VB.NET 中存储/查询数据?

从 vb.net 将值插入 Access db

无法从 .NET OleDB.DataReader 检索行

在 VB.NET 中执行查询会导致 GUI 错误 [重复]