access数据丢失
我用vb.net 连接access数据库,明明在程序里操作增加或删除了数据,这时候打开数据库,操作是生效了的,可是,重新一运行程序,数据库又会恢复到没有操作以前的状态,很古怪的问题,大家帮帮忙啊!
附:
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
Dim DBFile As String = Application.StartupPath & "\data.mdb"
Dim strDBCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & DBFile & ";Mode=Share Deny None;"
Dim cmdExecuteSQL As OleDbCommand
Dim cnnExecuteSQL As OleDbConnection
Dim cb As OleDbCommandBuilder
cnnExecuteSQL = New OleDbConnection() '打开数据库
With cnnExecuteSQL
.ConnectionString = strDBCnn
.Open()
End With
cmdExecuteSQL = New OleDbCommand()
With cmdExecuteSQL
.Connection = cnnExecuteSQL
.CommandType = CommandType.Text
End With
Dim strsql As String = "select * from data order by 编号"
Dim mdata As New DataSet
Using adar As OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(strsql, cnnExecuteSQL)
cb = New System.Data.OleDb.OleDbCommandBuilder(adar)
adar.Fill(mdata, "data")
Dim newRow As DataRow = mdata.Tables(0).NewRow
newRow("编号") = TextBox2.Text
newRow("姓名") = TextBox5.Text
newRow("卡号") = TextBox3.Text
newRow("部门") = TextBox4.Text
mdata.Tables(0).Rows.Add(newRow)
adar.Update(mdata.Tables(0))
End Using
Dim cs As CellStyle = _flex.Styles.Add("bool") '定义一个单元格格式
cs.DataType = GetType(Boolean)
cs.ImageAlign = ImageAlignEnum.CenterCenter
Dim rg As CellRange
'显示到界面
With _flex
rg = .GetCellRange(.Rows.Count - 2, 0)
rg.Style = .Styles("bool")
.Rows.Count = .Rows.Count + 1
_flex(.Rows.Count - 2, 1) = TextBox2.Text
_flex(.Rows.Count - 2, 2) = TextBox5.Text
_flex(.Rows.Count - 2, 3) = TextBox3.Text
_flex(.Rows.Count - 2, 4) = TextBox4.Text
End With
MsgBox("添加成功!")
End Sub