منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طلب المساعدة في مشكلة عدم حفظ التعديل على السجل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
عند الضغط على زر تعديل يفتح لي فورم ثاني يحمل بيانات السجل وبعد القيام بالتعديل  وضغط زر حفظ التعديل لايحصل اي شي اتمنى حل مشكلتي هذي وذلك بالتعديل على المثال بحيث يتم حفظ التعديل من جميع القروبات بكس حاولت باكثر من طريقه ولكن لم افلح والنتيجه هي نفسها

تكفون راسي صار مصدع والله من الصبح وانا احاول ولكن مافيه فائدة
أخي الفاضل :

أين قاعدة البيانات ؟؟؟؟

لا يوجد في مشروعك المرفق قاعدة بيانات
معليش اخي تفضل هذي قاعدة البيانات
معقولة مافية مساعده ياخوان

طيب ياخوان عند عملية Update
هل لازم نضع جميع الحقول الموجودة في الجدوال ام نكتفي بالحقوال المراد التحديث عليها
اخي الفاضل

جرب المرفق

مع العلم أنه توجد العديد من التظبيطات مع حقول قاعدة البيانات فراجعها وغير ما يلزم
تعديل ممتاز بس انا لم اضيف سجل جديد يتم حفظه بنفس الاعمدة في الجدول بشكل صحيح ولكن عند طلب تعديل السجل عند عملية الحفظ فانه يتم تعديل ترتيب الحقول وفي اوقت يتم الحفظ بنفس الحقول
فما هو الحل
وهل توجد طريقة اخرى
السلام عليكم
اخي استخدم المعامل ؟ بدل المعامل @  عندما تتعامل مع اكسس

PHP كود :
   Private Sub btn_Save_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btn_Save.Click

        Dim SQL 
As String " Update tbl1 SET  b = ?, B3= ?, B4 = ?, B5 = ?, B6 = ?, B7 = ?, B8 = ?, B10 = ?, B11 = ?, B12 = ? WHERE ID =? "
 
       Dim CMD As New OleDb.OleDbCommand(SQLcon)
 
       With CMD
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex5.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex6.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex7.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex8.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex9.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex10.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex12.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex20.Text.Trim
            
.Parameters.Add("?"OleDbType.LongVarChar).Value Me.tex11.Text.Trim
            
.Parameters.Add("?"OleDbType.VarChar).Value Me.tex5.Text.Trim
            
.Parameters.Add("?"OleDbType.Integer).Value CInt(Me.IDLb.Text.Trim)

 
       End With
        Try
            If con
.State ConnectionState.Open Then con.Close()
 
           con.Open()
 
           Dim i As Integer CMD.ExecuteNonQuery()
 
           MsgBox(" / " "تم تعديل السجل بنجاح", , "حفظ التعديل")

 
       Catch ex As Exception
            MsgBox
(ex.ToString)
 
       Finally
            CMD
.Dispose()
 
           con.Close()

 
       End Try
 
   End Sub 
ياخوان هل كل عمود في الجدوال عند عملية Update
لازم نضع له .Parameters في جملة Update
حتى حقل HijriID وحقل HijriYear وحقل ID
ام ليس ضروري

تكفون اعطوني الجواب لاني عند فتح التعديل الذي قام به احد الاخوان الله يجزه خير
عند عد الاعمدة في جملة الابديت كان 10 حقول وفي البرمتر كان 12

وهذي جملة الابديت التى وضعته ولكن مافية اي تغيير

Private Sub btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Save.Click

Dim SQL As String = " Update TabS SET bb2 = @B1, bb3= @B2, bb4 = @B3, bb5 = @B4, bb6 = @B5, bb7 = @B6, bb8 = @B7,bb9 = @B8, bb10 = @B9,bb11 = @B10, bb12 = @B11, bb13 = @B12, bb14 = @B13, bb15 = @B14, bb16 = @B15, bb17 = @B16 WHERE ID =" & IDLb.Text & ""
Dim CMD As OleDb.OleDbCommand = New OleDb.OleDbCommand
CMD.CommandType = CommandType.Text
CMD.Connection = con
With CMD
'.Parameters.Add("@id", OleDbType.Integer).Value = Me.IDLb.Text.Trim
'bb2موضوع المعاملة
.Parameters.Add("@B1", OleDbType.VarChar).Value = Me.tx2.Text.Trim
'bb3النوع
.Parameters.Add("@B2", OleDbType.VarChar).Value = Me.tx1.Text.Trim
'bb4رقم المعاملة
.Parameters.Add("@B3", OleDbType.VarChar).Value = Me.tx3.Text.Trim
'bb5تاريخ المعاملة
.Parameters.Add("@B4", OleDbType.VarChar).Value = Me.tx4.Text.Trim
'bb6جهته
.Parameters.Add("@B5", OleDbType.LongVarChar).Value = Me.tx5.Text.Trim
'bb7يتعلق بـ
.Parameters.Add("@B6", OleDbType.VarChar).Value = Me.tx7.Text.Trim
'bb8مرفقات
.Parameters.Add("@B7", OleDbType.VarChar).Value = Me.tx8.Text.Trim
'bb9عددها
.Parameters.Add("@B8", OleDbType.VarChar).Value = Me.tx9.Text.Trim
'bb10تحتاج متابعة
.Parameters.Add("@B9", OleDbType.VarChar).Value = Me.tx16.Text.Trim
'bb11نوع المعاملة
.Parameters.Add("@B10", OleDbType.VarChar).Value = Me.tx10.Text.Trim
'bb12ملاحظات
.Parameters.Add("@B11", OleDbType.VarChar).Value = Me.tx6.Text.Trim
'bb13الإجراء المتبع
.Parameters.Add("@B12", OleDbType.VarChar).Value = Me.tx11.Text.Trim
'bb14الجهة المرسل اليها
.Parameters.Add("@B13", OleDbType.VarChar).Value = Me.tx12.Text.Trim
'bb15المرفقات المرسلة
.Parameters.Add("@B14", OleDbType.VarChar).Value = Me.tx14.Text.Trim
'bb16عددها
.Parameters.Add("@B15", OleDbType.VarChar).Value = Me.tx15.Text.Trim
'bb17اسم الملف
.Parameters.Add("@B16", OleDbType.VarChar).Value = Me.tx13.Text.Trim
.Parameters.Add("@B18", OleDbType.VarChar).Value = Me.t_g4.Text.Trim
.Parameters.Add("@B19", OleDbType.VarChar).Value = Me.t_g5.Text.Trim
.Parameters.Add("@B20", OleDbType.VarChar).Value = Me.t_g6.Text.Trim
.Parameters.Add("@B12", OleDbType.VarChar).Value = Me.tx6.Text.Trim
End With
CMD.CommandText = SQL
If con.State = ConnectionState.Open Then con.Close()
con.Open()
CMD.ExecuteNonQuery()
con.Close()
MsgBox("تم تعديل السجل بنجاح", , "حفظ التعديل")

End Sub
ليس ضروريا تعديل جميع الحقول
تستطيع نعديل حقل واحد فقط ان أردت
لدي اقتراح اخي الكريم ان تربط بشبيكة البيانات datagridview بطريقة اضافة مصدر ثم سحب البيانات على شكل شبيكة بيانات وهنا لن تضطر لكتابة كود واحد بشرط ان لا ترابط بين الجداول.
الصفحات : 1 2