数据库 VB.net
Posted
技术标签:
【中文标题】数据库 VB.net【英文标题】:Database VB.net 【发布时间】:2011-12-12 09:18:37 【问题描述】:如何在 VB.net 中从数据库中检索数据
我正在使用
SELECT* FROM tbl1 WHERE Col1 = 'Chaitra'
我的要求是有一个文本框,我已从该文本框中检索文本并分配给一个名为 str1
的变量。
现在我必须将此变量与数据库 (SELECT* FROM tbl1 WHERE Col1 = str1
) 进行比较。
我们可以这样写吗?还是有其他方法可以做到这一点?
【问题讨论】:
【参考方案1】:Use parameters 到 prevent Sql-Injection
Dim t As New DataTable()
Using c As New SqlConnection(connectionString)
c.Open()
Using a As New SqlDataAdapter("SELECT* FROM tbl1 WHERE Col1 = @Col1", c)
'use the appropriate SqlDbType'
a.SelectCommand.Parameters.Add("@Col1", SqlDbType.NChar, 5, "Col1")
a.SelectCommand.Parameters("@Col1").Value = str1
a.Fill(t)
End Using
End Using
Return t
编辑:根据您要查询MS Access的评论
Dim t as New DataTable
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim command As OleDbCommand
Using connection As New OleDbConnection(connectionString)
' Create the SelectCommand.
command = New OleDbCommand("SELECT * FROM Users " & _
"WHERE UserName = ?", connection)
command.Parameters.Add("UserName", OleDbType.VarChar, 20).Value = userName 'userName is a string variable
adapter.SelectCommand = command
connection.Open()
adapter.Fill(t) 't is the DataTable that holds all columns of the User
End Using
http://msdn.microsoft.com/en-us/library/bbw6zyha.aspx
【讨论】:
先生,我看不懂上面的代码,因为我是这个领域的新手。我有一个包含 3 列(ID、用户名和密码)的 MS 访问数据库表。如果我在相应的文本框中输入用户名和密码,它应该检索该特定记录的 ID。所以请帮我解决这个问题 @user:编辑了我的答案,以提供有关如何使用参数查询 MS Access 数据库的示例。结果是一个带有一条记录的 DataTable(如果有一个具有此 UserName 的用户)。 @user: Improve your accept-rate ;) 很高兴我能帮上忙以上是关于数据库 VB.net的主要内容,如果未能解决你的问题,请参考以下文章