vb.net2005中DataGridView数据不能更新到数据库access中(在线等)
相关代码如下,运行时不报错,新添加的数据可以显示在DataGridView中,但不能存到数据库文件access里------下面代码是写在一个添加按钮里的~DimstrA...
相关代码如下,运行时不报错,新添加的数据可以显示在DataGridView中,但不能存到数据库文件access里
------下面代码是写在一个添加按钮里的~
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database1.mdb"
Dim conn As OleDb.OleDbConnection
conn = New OleDb.OleDbConnection(str)
conn.Open()
Dim strsql As String
strsql = "select * from student where 学号='" & Trim$(Text2.Text) & "'"
Dim cmd As New OleDb.OleDbCommand(strsql, conn)
Dim dr As OleDb.OleDbDataReader
dr = cmd.ExecuteReader
If (dr.Read) Then
MsgBox("已经有相同的学号,请修改")
Text2.Focus()
Exit Sub
Else
dr.Close()
Dim strInsert As String
strInsert = "insert into student ( 学号,姓名,学院,班级,寝室号,入学年份 ) values ( '" & Text2.Text & "', '" & _
Text1.Text & "', '" & Text3.Text & "', '" & Text4.Text & "', " & _
Text5.Text & ", " & Text6.Text & " )"
Dim cmdInsert As OleDb.OleDbCommand = New OleDb.OleDbCommand(strInsert, conn)
cmdInsert.ExecuteNonQuery()
MsgBox("添加成功")
Text2.Focus()
strsql = "select * from student"
Dim cmdView As New OleDb.OleDbCommand(strsql, conn)
cmdView.ExecuteNonQuery()
da = New OleDb.OleDbDataAdapter(strsql, conn)
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
End If
----------下面代码是我经过查阅以后又在窗口控件上添加了一个“保存”按钮的代码~ 好像没什么用~ 定义的b 好像没用到啊?不大懂~
Dim b As New OleDb.OleDbCommandBuilder(da)
Try
da.Update(ds)
ds.AcceptChanges()
MsgBox("Updated")
Catch ex As Exception
MsgBox("Error")
End Try
请高手指点~~小女子在此谢过~~T T
另~祈祷有好心的高手能留下QQ~单独赐教~T T
好像这些代码 都是对 适配器数据集 进行操作~ 并不是直接对 access数据库 进行操作~ 我的代码都是东拼西凑来的~可能有些地方不大合适~ 不要笑话我~
VB.net2005 跟2003 好像差别真的很大~T T 展开
------下面代码是写在一个添加按钮里的~
Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database1.mdb"
Dim conn As OleDb.OleDbConnection
conn = New OleDb.OleDbConnection(str)
conn.Open()
Dim strsql As String
strsql = "select * from student where 学号='" & Trim$(Text2.Text) & "'"
Dim cmd As New OleDb.OleDbCommand(strsql, conn)
Dim dr As OleDb.OleDbDataReader
dr = cmd.ExecuteReader
If (dr.Read) Then
MsgBox("已经有相同的学号,请修改")
Text2.Focus()
Exit Sub
Else
dr.Close()
Dim strInsert As String
strInsert = "insert into student ( 学号,姓名,学院,班级,寝室号,入学年份 ) values ( '" & Text2.Text & "', '" & _
Text1.Text & "', '" & Text3.Text & "', '" & Text4.Text & "', " & _
Text5.Text & ", " & Text6.Text & " )"
Dim cmdInsert As OleDb.OleDbCommand = New OleDb.OleDbCommand(strInsert, conn)
cmdInsert.ExecuteNonQuery()
MsgBox("添加成功")
Text2.Focus()
strsql = "select * from student"
Dim cmdView As New OleDb.OleDbCommand(strsql, conn)
cmdView.ExecuteNonQuery()
da = New OleDb.OleDbDataAdapter(strsql, conn)
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
End If
----------下面代码是我经过查阅以后又在窗口控件上添加了一个“保存”按钮的代码~ 好像没什么用~ 定义的b 好像没用到啊?不大懂~
Dim b As New OleDb.OleDbCommandBuilder(da)
Try
da.Update(ds)
ds.AcceptChanges()
MsgBox("Updated")
Catch ex As Exception
MsgBox("Error")
End Try
请高手指点~~小女子在此谢过~~T T
另~祈祷有好心的高手能留下QQ~单独赐教~T T
好像这些代码 都是对 适配器数据集 进行操作~ 并不是直接对 access数据库 进行操作~ 我的代码都是东拼西凑来的~可能有些地方不大合适~ 不要笑话我~
VB.net2005 跟2003 好像差别真的很大~T T 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询