首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView + Access数据库

GridView + Access数据库
EN

Stack Overflow用户
提问于 2012-05-29 19:11:21
回答 1查看 744关注 0票数 0

我正在尝试用GridView控件连接Access数据库。

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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)的错误。第一次成功了。

好了,我终于改正错误了。我必须再次将cn调暗为新的OleDbConnection("Provider = Microsoft.JET.OLEDB.4.0;“& "Data Source = C:\Class.mdb"),以使用query而不是一次用于所有查询。

EN

回答 1

Stack Overflow用户

发布于 2012-05-29 20:16:27

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

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10797964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档