PDA

View Full Version : مشکل در به روزرسانی دیتابیس Access



afshin62
دوشنبه 07 تیر 1389, 17:42 عصر
با سلام
من دارم از VS.2010 استفاده میکنم. و سعی دارم که داده های موجود در دیتابیسم رو تو کنترل datagridview نمایش بدم و تغییرات رو ذخیره کنم. من از روش OleDbCommandBuilder استفاده می کنم. ولی با پیام پیوست مواجه می شم و برام آپدیت نمی کنه.
این کد منه:

Public Class Input
Dim cn As New OleDbConnection
Dim dSet As New DataSet
Dim da As OleDbDataAdapter
Dim Row As Byte
Dim Col As Byte
Private Sub Input_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Chart1.Visible = False

Dim cm As New OleDbCommand
Dim strSQL As String


cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\VB\DataAccess\milk.mdb;Persist Security Info=True"

cn.Open()
strSQL = "select * from stu"


da = New OleDbDataAdapter(strSQL, cn)

Dim SqlCom As OleDbCommandBuilder = New OleDbCommandBuilder(da)

da.Fill(dSet, "stu") 'fill dataset

DataGridView1.DataSource = dSet
DataGridView1.DataMember = "milk"
'Modifying view of datagridview
DataGridView1.RowHeadersVisible = False

DataGridView1.Columns(0).SortMode = False 'Preventing sort in data grid
DataGridView1.ColumnHeadersDefaultCellStyle.Alignm ent = DataGridViewContentAlignment.MiddleCenter
DataGridView1.AllowUserToAddRows = False
DataGridView1.AllowUserToResizeColumns = False
DataGridView1.AllowUserToResizeRows = False
DataGridView1.Columns(0).ReadOnly = True
Col = DataGridView1.Columns.Count
Row = DataGridView1.Rows.Count

DataGridView1.Width = Col * 101
DataGridView1.Height = Row * 30
DataGridView1.Columns(0).DefaultCellStyle.BackColo r = Color.LightGray

cn.Close()


End Sub

Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click


Try
If MsgBox("Are you sure you want to chnage the values?", vbYesNo, "Confirm") = vbYes Then
da.Update(dSet, "milk")
End If

Catch ex As Exception

MsgBox(ex.Message)

End Try
End Sub

majid325
چهارشنبه 09 تیر 1389, 13:48 عصر
راجع به این موضوع بارها صحبت شده
-در select باید اسم تک تک فیلد ها رو نام ببرید و همه ی جداول باید PK داشته باشن

afshin62
دوشنبه 21 تیر 1389, 17:27 عصر
با تشکر از شما
والا دیتابیسم کلید داره و دستور سلکت رو هم عوض کردم و اسم همه فیلدها رو اوردم باز هم همین اشکال رو می گیره. نمی دونم کجاش گیره.