none
VB.net 2010 + Access 如何把定义的string传给数据库查询 RRS feed

  • 常规讨论

  • 接触VB.net只有几天的时间,自己在摸索。有个问题,今天下午弄了半天都没弄好。

    VB.net 版本是VB.NET 2010 Express版本。

    MDB数据库中,只有一个table表,里面有A,B,C,D,E等字段,我希望在form界面上 输入textbox1.text,然后点击旁边的button按钮,自动查询数据库里面的DBN No字段,然后把这一行都显示出来。

    vb.net已经连接数据源 Me.TableTableAdapter.Fill(Me.DatabaseDataSet.Table) 就可以把第一行数据显示出来。

     

     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim keywords As String = TextBox1.Text

            Me.TableTableAdapter.FillBy(Me.DatabaseDataSet.Table)

    End Sub

    上面的代码是定义keywords作为一个string,keywords = textbox1.text

    Fillby 的查询是

    SELECT        Name, [DBN No], cdx, A, B, C, D, E, min, max
    FROM            [Table]
    WHERE        ([DBN No] = '& Keywords &')

    我在textbox1里输入一个DBN No的数值,(类似于1233-1-2),但是为什么form上返回不到任何结果呢?

    谢谢。


    2012年10月27日 11:30

全部回复

  • 你完全可以不用这个,删除全部的代码,建议我的方法:

    Using adapter As New SqlDataAdapter("SELECT [Name], [DBN No], cdx, A, B, C, D, E, [min], [max]
    FROM            [Table]
    WHERE        ([DBN No] = @keywords)","你的连接字符串")
    
        Dim dt As New DataTable
        adapter.Fill(dt)
    
    End Using

    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年10月28日 1:47
    版主
  • 你完全可以不用这个,删除全部的代码,建议我的方法:

    Using adapter As New SqlDataAdapter("SELECT [Name], [DBN No], cdx, A, B, C, D, E, [min], [max]
    FROM            [Table]
    WHERE        ([DBN No] = @keywords)","你的连接字符串")
    
        Dim dt As New DataTable
        adapter.Fill(dt)
    
    End Using


    你好!你上面说的连接字符串是不是“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database.accdb"” 这一行,我输入之后,运行的时候提示说“Keyword not supported: 'provider'.“ 这个怎么处理呢?

    new sqldataadapter,这个sqldataadapter,提示我添加了Imports System.Data.SqlClient这一行。

    谢谢。

     
    2012年10月28日 5:14
  • 已经解决了,在这个链接上找到方法了。http://technet.microsoft.com/zh-cn/sqlserver/ms171907

    非常感谢编程志愿者

    2012年10月28日 5:32