当前位置:编程学习 > C#/ASP.NET >>

哪位帮我看看下面的代码啊?datagridview 批量更新问题。

Imports System.Data
Imports System.Data.OleDb

Module Module1
    Public DatabasePath = Apppath & "\1.mdb;"
    Dim ConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabasePath & ""
    Dim Conn As OleDbConnection


    '如果要从数据库里取出数据显示在Datagridview上,那么如此使用:
    'Dim SQLStr As String = "select * from xxx"
    'DataGridView1.DataSource = FillDataSet(SQLStr).Tables(0)


#Region "填充返回dataset"
    Public Function FillDataSet(ByVal SQLStr As String) As DataSet
        Try
            Conn = New OleDbConnection(ConnStr)
            Conn.Open()
            Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQLStr, Conn)
            Dim ds As DataSet = New DataSet
            da.Fill(ds)
            Return ds
        Catch ex As Exception
            MsgBox(ex.Message.ToString, MsgBoxStyle.Information, "提示")
            FillDataSet = Nothing
        Finally
            Conn.Close()
        End Try
    End Function

#End Region

#Region "批量更新dataset"
    Public Function Fillupdata(ByVal SQLStr As String) As DataSet
        Try
            Conn = New OleDbConnection(ConnStr)
            Conn.Open()
            Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQLStr, Conn)
            Dim ds As DataSet = New DataSet
            'da.Fill(ds)
            da.Update(ds)
            Return ds
        Catch ex As Exception
            MsgBox(ex.Message.ToString, MsgBoxStyle.Information, "提示")
            Fillupdata = Nothing
        Finally
            Conn.Close()
        End Try
    End Function

#End Region



我在form1上有一个 datagridview用来显示数据库中表"库存"的内容。
    Dim SQLStr As String = "select * from 库存"
    DataGridView1.DataSource = FillDataSet(SQLStr).Tables(0)

然后我更改了datagrivew中的数据,请问怎么批量更新到access数据库中啊?
上面的 批量更新dataset  
Fillupdata代码正确吗?在form1的button中怎么调用啊? --------------------编程问答-------------------- Dim ds As New DataSet()
Dim sda As SqlDataAdapter

Dim scb As New SqlCommandBuilder(sda)
sda.Update(ds)
Me.dataGridView1.DataSource = ds.Tables(0) --------------------编程问答--------------------
引用 1 楼 wuyq11 的回复:
Dim ds As New DataSet()
Dim sda As SqlDataAdapter

Dim scb As New SqlCommandBuilder(sda)
sda.Update(ds)
Me.dataGridView1.DataSource = ds.Tables(0)

================
然后我更改了datagrivew中的数据,请问怎么批量更新到access数据库中啊?
上面的 批量更新dataset   
Fillupdata代码正确吗?在form1的button中怎么调用啊? --------------------编程问答-------------------- 使用OleDbCommandBuilder批量更新,需要数据库有主键字段,搜下网上很多的。
Dim MyCommandBuilder As New OleDbCommandBuilder
MyCommandBuilder = New OleDbCommandBuilder(da)
da.Update(ds, "tablename") --------------------编程问答-------------------- 沒有用過DatagridView,一直用FlexGridC1

因為,我一直用的是vb.net 2003
--------------------编程问答--------------------
引用 3 楼 asdfy 的回复:
使用OleDbCommandBuilder批量更新,需要数据库有主键字段,搜下网上很多的。
Dim MyCommandBuilder As New OleDbCommandBuilder
MyCommandBuilder = New OleDbCommandBuilder(da)
da.Update(ds, "tablename")

=================
能帮我写个详细的吗?根据我上面的信息。谢谢 --------------------编程问答-------------------- 在线等待啊!
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,