Data Grid View 连接MS Access

max_shell 2010-02-05 09:43:50
小弟用的是VB.NET windows:

1。DGV控件可以和access数据绑定。我可以从DB拉数据到DGV,但不知如何将DGV上编辑的数据存在access DB里面?
2。如果不用source binding怎么实现与Access DB的连接?
...全文
203 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ckp00001 2010-02-07
  • 打赏
  • 举报
回复
已经试过了,肯定行的,就不知|DataDirectory|代表什么?TimePicker表中须有KEY。
wuyq11 2010-02-07
  • 打赏
  • 举报
回复
Private ds As New DataSet()
Private sda As OleDbDataAdapter
Private Sub btn1_Click(ByVal sender As Object, ByVal e As EventArgs)
ds.Tables.Clear()
sda = New OleDbDataAdapter("select * from user", conn)
sda.Fill(ds)
Me.dataGridView1.DataSource = ds.Tables(0)
End Sub

Private Sub btn2_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim scb As New OleDbCommandBuilder (sda)
sda.Update(ds)
Me.dataGridView1.DataSource = ds.Tables(0)
End Sub
max_shell 2010-02-07
  • 打赏
  • 举报
回复
|DataDirectory|代表current path,
有key是什么意思?primary key?

[Quote=引用 10 楼 ckp00001 的回复:]
已经试过了,肯定行的,就不知|DataDirectory|代表什么?TimePicker表中须有KEY。
[/Quote]
max_shell 2010-02-07
  • 打赏
  • 举报
回复
为什么我的code就不行呢?
”更新“错在哪里





Imports System.Data.OleDb

Public Class Form1
Dim con As OleDbConnection
Dim cmd As OleDbCommand
Dim myDA As OleDbDataAdapter
Dim myDataSet As DataSet


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=|DataDirectory|\Database2.mdb")
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM TimePicker", con)
con.Open()
myDA = New OleDbDataAdapter(cmd)
''One CommandBuilder object is required. It automatically generates DeleteCommand,UpdateCommand and InsertCommand for DataAdapter object
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(myDA)
myDataSet = New DataSet()
myDA.Fill(myDataSet, "MyTable")
DataGridView1.DataSource = myDataSet.Tables("MyTable").DefaultView
con.Close()
con = Nothing

End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Me.Validate()
Me.myDA.Update(Me.myDataSet.Tables("MyTable"))
Me.myDataSet.AcceptChanges()




End Sub

End Class
ExcelWord 2010-02-06
  • 打赏
  • 举报
回复
多看多练别人的程序会有帮助的!
水猿兵团五哥 2010-02-06
  • 打赏
  • 举报
回复
更新数据就是一个UPDATE语句好了
给你看个

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim word As String
Dim username As String
username = ""
Dim t As String = RichTextBox1.Text
If Trim(Me.TBoxword.Text) <> "" Then
If Me.TextBox1.Text = "" Then
username = "Melody"
Else
username = Me.TextBox1.Text
End If
If Trim(Me.RichTextBox1.Text) <> "" Then

word = Trim(TBoxword.Text)
Dim connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./english.mdb")
connection.Open()
Try
Dim str As New System.Text.StringBuilder
str.Append(" UPDATE englishword ")
str.Append(" SET ")
str.Append(" [MEAN]='").Append(t).Append("',")

str.Append(" [PEOPLE]='").Append(username).Append("'")
str.Append(" WHERE ")
str.Append(" [word]= '").Append(word).Append("'")
Debug.WriteLine("")
Debug.WriteLine(str.ToString)
Dim cmd2 As New OleDb.OleDbCommand(str.ToString, connection)
cmd2.ExecuteNonQuery()
MsgBox("保存完成", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical)
Exit Sub
End Try
Me.TBoxword.Text = ""
Me.RichTextBox1.Text = ""
Me.TextBox1.Text = ""
Me.LabelDATE.Text = ""
connection.Close()
Else
MsgBox("中文意思不能为空啦", MsgBoxStyle.Critical)
Exit Sub
End If
Else
MsgBox("你还没有输入单词", MsgBoxStyle.Critical)
End If
End Sub
lzsh0622 2010-02-05
  • 打赏
  • 举报
回复
简单更新,可以换成参数形式

Me.OleDbConnection1.Open()
Me.OleDbDataAdapter1.UpdateCommand.Connection = Me.OleDbConnection1
Me.OleDbDataAdapter1.UpdateCommand.CommandText = String.Format("update cx set (入帐日期,入帐租金) values('{0}','{1}') where ID='{2}'", Me.TextBox5.Text, Me.TextBox2.Text, Me.TextBox9.Text)
Me.OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery()
Me.OleDbConnection1.Close()
JiaoPengJay 2010-02-05
  • 打赏
  • 举报
回复
http://blog.csdn.net/JiaoPengJay/archive/2010/02/03/5285252.aspx
我用的虽然不是Access 但愿能帮助你
hwmys 2010-02-05
  • 打赏
  • 举报
回复
用ADO.net链接数据库代码来实现

Imports System.Data.OleDb

......................
Dim MyMDBcon As New OleDb.OleDbConnection
Dim myMDBcm As New OleDb.OleDbCommand
Dim myMDBapt As New OleDb.OleDbDataAdapter
max_shell 2010-02-05
  • 打赏
  • 举报
回复
binding source可以将数据update到MS access么?

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧