PDA

View Full Version : آپدیت دیتاگرید



sahra_777
چهارشنبه 16 فروردین 1385, 11:29 صبح
با سلام...من میخوام اطلاغاتی که در دیتاگرید تغییر میدم در دیتابیس ذخیره بشه اگه میشه کدش رو بهم بدید در ضمن از کانکشن ویزارد هم استفاده نمیکنم لطفا راهنمایی کنید
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con.Open()
dap = New SqlDataAdapter(Str, con)
dap.Fill(ds, "repair_tel")
GridEX1.DataSource = ds.Tables("repair_tel")

end sub
Private Sub Button2_Click(.................................... .) Handles Button2.Click
Dim changedRecords As System.Data.DataTable = ds.Tables("repair_tel").GetChanges()
If Not (changedRecords Is Nothing) AndAlso (changedRecords.Rows.Count > 0) Then
If MessageBox.Show(String.Format("You are about to update {0} record(s)." + vbCrLf + "Do you want to continue?", changedRecords.Rows.Count), "GridEX Tutorial", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
Try

dap.Update(ds, "repair_tel")

Catch exc As Exception
MessageBox.Show("An error occurred while trying to update the database:" + vbCrLf + vbCrLf + vbCrLf + "The rows with errors will appear in dark red.", "GridEX Tutorial", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
Else
MessageBox.Show("There are no changes in the Products table to update.", "GridEX Tutorial", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub

Hamedm
چهارشنبه 16 فروردین 1385, 11:45 صبح
سلام

اگه دستور DA دستور UPDATE رو پشتیبانی کنه، مینوتید DA رو UPDATE کنید.
خلیلی راحت:

da.Update(DataSetName,TableName))
همین.

در پناه حق موفق باشید و پرتوان

taherbaghal
چهارشنبه 16 فروردین 1385, 11:52 صبح
اگه دستور DA دستور UPDATE رو پشتیبانی کنه، مینوتید DA رو UPDATE کنید.

البته باید حواست باشه با همون دیتاستی که به دیتاگرید بایند شده این کارو انجام بدی :چشمک:
میشه بگی مشکلت توی کانکشن چیه؟

Hamedm
چهارشنبه 16 فروردین 1385, 12:09 عصر
سلام مجدد

با سلام...من میخوام اطلاغاتی که در دیتاگرید تغییر میدم در دیتابیس ذخیره بشه اگه میشه کدش رو بهم بدید در ضمن از کانکشن ویزارد هم استفاده نمیکنم لطفا راهنمایی کنید
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con.Open()
dap = New SqlDataAdapter(Str, con)
dap.Fill(ds, "repair_tel")
GridEX1.DataSource = ds.Tables("repair_tel")

end sub
Private Sub Button2_Click(.................................... .) Handles Button2.Click
Dim changedRecords As System.Data.DataTable = ds.Tables("repair_tel").GetChanges()
If Not (changedRecords Is Nothing) AndAlso (changedRecords.Rows.Count > 0) Then
If MessageBox.Show(String.Format("You are about to update {0} record(s)." + vbCrLf + "Do you want to continue?", changedRecords.Rows.Count), "GridEX Tutorial", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
Try

dap.Update(ds, "repair_tel")

Catch exc As Exception
MessageBox.Show("An error occurred while trying to update the database:" + vbCrLf + vbCrLf + vbCrLf + "The rows with errors will appear in dark red.", "GridEX Tutorial", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
Else
MessageBox.Show("There are no changes in the Products table to update.", "GridEX Tutorial", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub
dap و ds باید بالای ماژول Private شده باشند.
برای Fill کردن DataAdapter نیازی نیست Connection باز باشه (DataAdapter خودش Connectoion رو باز و بسته میکنه).
شما که دارید در FormLoad گرید رو Fill مکنید، چرا مستقیما در Design گرید رو به دیتابیس Bind نمیکنید؟


در پناه حق موفق باشید و پرتوان

sahra_777
چهارشنبه 16 فروردین 1385, 12:36 عصر
اگر چه مطمئنم این چیزا جواب نمیده ولی خوب....
در ضمن من این صفحه Test هستش به خاطر همین از form load استفاده کردم

mostafa_leman
پنج شنبه 17 فروردین 1385, 00:20 صبح
اینم دستورش:
UpdateDataSet(DataSet.GetChanges())



Public Sub UpdateDataSet(ByVal inDS As DataSet)
If inDS Is Nothing Then
Exit Sub
End If
inDS.EnforceConstraints = False
Me.DataAdapter.Update(inDS, "tbChild")
End Sub

sahra_777
شنبه 19 فروردین 1385, 07:07 صبح
ببینید من میخوام دیتاگرید رو ویرایش کنم ولی همه این کدها error میدن اینم erroresh
Update requires a valid UpdateCommand when passed DataRow collection with modified rows.