今天是:
设百科问答网为首页|收藏百科问答网|网站地图
百科问答网 - 帮您解决问题,分享成功经验

vb2008怎么将DataGridview数据写入Access数据库


不好意思,Visual Basic 2008的数据操作方式还是搞的不太懂。现在居然写入数据还是弄不出来。以下是我查询数据填充到DataGridview代码。

   Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\vb 2008\paiban\paiban.mdb;")
        Dim objComm As New OleDbCommand()
        Dim Fdate As Date, Ldate As Date
        Fdate = DateSerial(ComboBox1.Text, ComboBox2.Text, 1) '"2011-05-01"
        Ldate = DateSerial(ComboBox1.Text, (ComboBox2.Text + 1), 0) '"2011-05-31"
        objComm.CommandText = "SELECT * FROM 排班 where 日期 BetWeEn #" & Fdate & "# AND " & "#" & Ldate & "#" ' 这是一个QUERY STRING 来选取资料的
        objComm.Connection = objCon
        Dim adapter As New OleDbDataAdapter(objComm) '选取资料后可以用OleDbDataAdapter 把资料存到DATATABLE 里
        Dim tbl As New DataTable ' 用来存资料, 等一会可以显示到DATAGRIDVIEW中

        Try
            objCon.Open() ' 开启 ACCESS CONNECTION
            adapter.Fill(tbl) ' 把资料存到DATATABLE 里
            DataGridView1.DataSource = tbl '之后 ASSIGN DATAGRIDVIEW 的DATA SOURCE E.G. 用刚刚取来的DATA TABLE

        Catch ex As Exception
            MsgBox(ex.Message) '有问题ERROR 时 POP UP ERROR MESSAGE BOX
        Finally
            adapter = Nothing '清理 data adapter object
            objComm = Nothing '清理 command object
            objCon.Close()  '关掉连线
            objCon = Nothing '清理 connection object
        End Try
    End Sub

我希望以类似的方式,将在Datagridview输入的数据(只是按原有记录修改,无需添加、删除记录),一次性更新到Access表。捣鼓2天没办法弄出来。望专家帮我写一下代码,以抛砖引玉。谢谢




答案或建议:


你好:)
使用OleDbDataAdapter+OleDbCommandBuilder可以轻松完成任务。具体参考提示:

1)定义以下是整个窗体中的全局变量:

   Dim adapter As New OleDbDataAdapter()

   Dim dt As New DataTable()


2)在Button2_Click事件中,自动生成Insert,Delete和Update方法:

adapter.SelectCommand=new OleDbCommand("你的Select拼接语句",new OleDbConnection(你的字符串连接))

Dim builder As New OleDbCommandBuilder(adapter)

adapter.Fill(dt)

DataGridView1.DataSource = dt


3)另外一个Update作用的Button,当在DataGridView做了任意修改的时候:

adapter.Update()

dt = New DataTable()

adapter.Fill(dt)

DataGridView1.DataSource = dt  '重新绑定


--
谢谢!测试了一下。只有一个问题。就是

adapter.Update()

这句出错了。提示:没有可访问的“update”接受此数目的参数……

哦,我改成MYadapter.Update(MYdt)。搞定了。太感谢了



转载链接:http://www.baikewenda.com/h/1105/a33109.html
推荐内容

敬请注意:百科问答网内容来源于网络或民间经验收集,仅供参考。其中有关健康疾病方面的内容请务必咨询专业医生或及时到医院治疗。
关于我们 - 广告服务 - 联系我们
百科问答网 Copyright ©2005 - 2011 www.baikewenda.com,All Rights Reserved
辽ICP备10007180号