数据库 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的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET怎样连接数据库

vb.net 怎么操作数据库

VB.NET中ADO.NET的问题

vb.net 怎么操作数据库

vb.net数据库操作

vb.net 连接access数据库