问题如标题所述。dataset是从adapter生成的,有架构大概信息如下:
初始化-----
 Me.OleDbConnection1 = New System.Data.OleDb.OleDbConnection
        Me.OleDbCommand1 = New System.Data.OleDb.OleDbCommand
        Me.OleDbDataAdapter1 = New System.Data.OleDb.OleDbDataAdapter
        Me.YhjyDS1 = New jsjxlibrary.yhjyDS        '
        'OleDbDataAdapter1
        '
        'Me.OleDbDataAdapter1.DeleteCommand = Me.OleDbCommand1
        'Me.OleDbDataAdapter1.InsertCommand = Me.OleDbCommand1
        Me.OleDbDataAdapter1.SelectCommand = Me.OleDbCommand1
        Me.OleDbDataAdapter1.UpdateCommand = Me.OleDbCommand1page_lode----
 Me.OleDbConnection1.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")
        Me.OleDbCommand1.CommandText = "SELECT ... FROM table"
        Me.OleDbCommand1.Connection = Me.OleDbConnection1
        Me.OleDbConnection1.Open()
        Me.OleDbDataAdapter1.SelectCommand = Me.OleDbCommand1
        Me.OleDbDataAdapter1.Fill(Me.YhjyDS1)
        Me.OleDbConnection1.Close()
        myGrid.DataSource = Me.YhjyDS1        If Not Me.IsPostBack Then
            myGrid.DataBind()
        End If添加操作和更改数据库:
'蒋新添加的记录写入数据集中
            Dim myDataTable As DataTable = Me.YhjyDS1.Tables(0)
            Dim newrow1 As DataRow = myDataTable.NewRow()            newrow1("id") = 3
            newrow1("mc") = "rrr"
            newrow1("cbs") = "rrr"
            myDataTable.Rows.Add(newrow1)
            
            Me.OleDbConnection1.Open()            Me.OleDbDataAdapter1.Update(YhjyDS1)  ---此时newrow1.rowState=added            Me.OleDbConnection1.Close()    --------此时newrow1.rowState=unchanged
            myGrid.DataSource = Me.YhjyDS1
            myGrid.DataBind()

解决方案 »

  1.   

    使用OleDbDataAdapter1.Update(YhjyDS1)
    前后,不用手工操作数据库连接,也就是不同打开和关闭数据库
      

  2.   

    我将Me.OleDbConnection1.Close()和Me.OleDbConnection1.Open()去掉没有用的,也没有什么错误提示,就是不往数据库里保存
      

  3.   

    你没有权限!!!右键应用程序文件夹>>属性>>安全>>添加帐号IUSR_你的计算机名>>允许写入>>ok
      

  4.   

    1、右键应用程序文件夹>>属性>>安全>>添加帐号IUSR_你的计算机名>>允许写入>>ok2、如果是access数据库的话,右键察看属性-〉安全-〉允许写