GridView + Access数据库

时间:2012-05-29 11:11:21

标签: asp.net vb.net gridview

我正在尝试将Access数据库与GridView控件链接。

以下是问题: 链接数据库查询的一个成功过程。

Protected sub  Query(ByVal y as string)
    Dim da As New OleDbDataAdapter(y, cn)
    Dim dt As New DataTable()
    da.Fill(dt)
    da.Dispose()
    cn.Dispose()
    Me.GridView1.DataSource = dt
    Me.GridView1.DataBind()
    ListBox1.Visible = True
End sub

如果第一次运行在另一个过程中没有返回值/结果,我想要重新运行查询。

Protected Sub btnFind_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFind.Click    

x = "SELECT * From Class Where Gender ='Male' And First_name ='James' "
        Query(x)    
If gridview.rows.count =0 then
x= "SELECT * From Class Where Gender ='Male'"
       query(x)
    End If

然后将结果放入列表框。

但是,第二次运行时出现"The ConnectionString property has not been initialized." on da.Fill(dt)错误。第一次成功。

好的,我终于纠错了。我必须再次使用Dim cn As New OleDbConnection(“Provider = Microsoft.JET.OLEDB.4.0;”&“Data Source = C:\ Class.mdb”)来对所有查询使用查询而不是一次。

1 个答案:

答案 0 :(得分:1)

以相同的方法创建和处置连接

Protected Sub Query(ByVal y as string)     
  Dim dt As New DataTable()
  Using cn as New OleDbConnection("your_connection_string"), _
        da As New OleDbDataAdapter(y, cn)       
      da.Fill(dt)     
  End Using
  Me.GridView1.DataSource = dt     
  Me.GridView1.DataBind()     
End Sub