سلام عليكم شباب استأنكم في استفسار جزاكم الله خير اقوم بتصميم متصل بقاعدة بيانات سلام Access ويتم عرض هذه البينات على DataGrid
اسم قاعدة البينات PDB1.mdb
اسم الجدول PDB
يحتوي على الاعمده :
Id --- as Primary Key
Name
company
quantity
Exp Dare
code
Note
قمت بعمل زر يقوم بإنقاص 1 من الكميه الموجوده يعني لو ان الــ quantity = 10 بعد الضغط على الزر تكون القيمه 9
مشكلتي اني اريد تحديث هذه القيمه في ملف قاعدة الباينات فقط خلية الكميه ولي ثلاث ايام احلو ما سبت كود update إلا وجربته ولا فائده يريت من عنده معلومه يفيدني وهذا الكود الذي استخدمته ولكم جزيل الشكر ::
<pre class="alt2" dir="ltr" style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 498px; text-align: left;">Imports System.Data.oledb
Public Class frmtst
Dim path As String = My.Application.Info.DirectoryPath
Dim strConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & path & "\PDB1.MDB"
Dim objConnection As New OleDbConnection(strConnectionString)
Dim da As New OleDbDataAdapter()
Dim ds As New DataSet()
Private Sub frmtst_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
da.SelectCommand = New OleDbCommand("select * from PDB", objConnection)
ds.Tables.Add(New DataTable("PDB"))
da.Fill(ds.Tables("PDB"))
dgtst.DataSource = ds.Tables("PDB")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim j As Integer
Dim i As Integer
Dim cmdupdate2 As New OleDbCommand
i = dgtst.CurrentRow.Index
j = dgtst.Item(3, i).Value
If j >= 1 Then
'هنا لأنقاص 1 من قيمة الكميه الموجوده
dgtst.Item(3, i).Value = j - 1
'وهنا تبدأ المشكله في حفظ التغير في ملف قاعدة البينات
If ds.HasChanges Then
Dim cmb As New OleDbCommandBuilder(da)
Try
ds.Tables("PDB").GetChanges()
da.Update(ds.Tables("PDB"))
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End If
'AdP.Update(Dst)
'MsgBox("the new Quantity is " & j & " OK")
End If</pre>