2014-01-18 56 views
0

我从vb.net形式试图insert or updateMS-Access数据库。VB.net 2010集更新,但访问数据库保持相同

数据集的更新,但access数据库的习惯。以下是我的代码。

Try 
      Dim addLocation As String = "Insert into Provider (StateCode, Provider)" _ 
      & "values ('" & ComboBox1.Text & "', '" & TextBox2.Text & "')" 
      Dim sqlcommand As New OleDbCommand 
      conn.Open() 
      With sqlcommand 
       .CommandText = addLocation 
       .Connection = conn 
       .ExecuteNonQuery() 
      End With 
      MsgBox("One record added", MsgBoxStyle.Information) 
      refreshGrid() 

     Catch ex As Exception 
      MsgBox(ex.ToString) 
     End Try 

    Private Sub refreshGrid() 
     cnString = "PROVIDER = Microsoft.ace.oledb.12.0;data source =" & Application.StartupPath & "\HCHPClosedIn.accdb" 
     sqlQRY = "SELECT * FROM Provider" 
     conn = New OleDbConnection(cnString) 
     Try 
     conn.Open() 
     da = New OleDbDataAdapter(sqlQRY, conn) 
     Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(da) 
     da.Fill(ds, "Customers") 
     DataGridView1.DataSource = ds 
     DataGridView1.DataMember = "Customers" 
     End Try 
    End Sub 
+0

你会得到什么错误? –

+0

我没有收到任何错误..它只是不添加到数据库。数据集更新,因为我在datagridview中使用它。 – Joseph

+0

邮你refreshgrid代码 –

回答

0

它已经有一段时间了,但我想我记得Access对提交有点挑剔。试试这个:

With sqlcommand 
    .CommandText = addLocation 
    .Connection = conn 
    .ExecuteNonQuery() 
    .transaction = trans 
End With 

Trans.Commit()