تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة بخصوص كود الحفظ
#1
السلام عليكم ورحمة الله وبركاته 


انا حاولت اكتب كود الحفظ بطريقة مختلفة بحيث اقوم باضافة كل التكست بوك الى قاعدة البيانات مرة واحدة عن طريقة عملية loop لكن لم تنجح الطريقة 

من يمكنه مساعدتي في تعديل هذا الكود وجزاكم الله كل خير


كود :
       Try
           Dim sql = ("select * from Company_Details where Company_ID=N'" & (Company_ID.Text) & "'")
           Dim adp As New SqlClient.SqlDataAdapter(sql, sqlconn)
           Dim ds As New DataSet
           adp.Fill(ds)
           Dim dt = ds.Tables(0)
           If dt.Rows.Count > 0 Then
               Exit Sub
           Else
               Dim dr = dt.NewRow

               Dim CTL As New Control



               For i = 0 To Me.Controls.Count - 1


                   If TypeOf CTL.Controls(i) Is TextBox And dr.Item(dr!CTL.Name(i)) = Me.Controls(i).Name Then


                       dr.Item(dr!CTL.Name(i)) = Me.Controls(i).Text


                   End If
               Next


                       dt.Rows.Add(dr)
                       Dim cmd As New SqlClient.SqlCommandBuilder(adp)
                       adp.Update(dt)

                       MsgBox("تم حفظ بيانات الشركة بنجاح", MsgBoxStyle.Information, "رسالة تأكيد ")
                   End If

       Catch ex As Exception
           MessageBox.Show(ex.Message, "فشل في عملية الحفظ ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
       End Try
الرد
تم الشكر بواسطة:
#2
لماذا لا بوجد رد
الرد
تم الشكر بواسطة:
#3
معقول ماحد عارف الحل ؟؟؟؟

وينكم يا جماعة
الرد
تم الشكر بواسطة:
#4
Iam wating .....
الرد
تم الشكر بواسطة:
#5
عنجد مش معقول من امبارح لليوم فش ولا رد على الاقل واحد يرد يقول ما بعرف 

لا حول ولا قوة الا بالله
الرد
تم الشكر بواسطة:
#6
أهلاً أخي 

أعذر الجميع أكيد مشغولين .

الخطاء عندك في إستخدام هذا السطر
Dim CTL As New Control



هذا الكود بعد التعديل :
كود :
  Try
           Dim sql = ("select * from Company_Details where Company_ID=N'" & (Company_ID.Text) & "'")
           Dim adp As New SqlClient.SqlDataAdapter(sql, sqlconn)
           Dim ds As New DataSet
           adp.Fill(ds)
           Dim dt = ds.Tables(0)
           If dt.Rows.Count > 0 Then
               Exit Sub
           Else
               Dim dr = dt.NewRow

               '----------------------------------------------------------------------------------------
               For Each Ctrl In Me.FindAllChildren
                   If TypeOf Ctrl Is TextBox And dt.Columns.Contains(Ctrl.Name) Then
                       dr.Item(Ctrl.Name) = Ctrl.Text
                   End If
               Next
               '----------------------------------------------------------------------------------------


               dt.Rows.Add(dr)
               'Dim cmd As New SqlClient.SqlCommandBuilder(adp)
               adp.Update(dt)


               MsgBox("تم حفظ بيانات الشركة بنجاح", MsgBoxStyle.Information, "رسالة تأكيد ")
           End If

       Catch ex As Exception
           MessageBox.Show(ex.Message, "فشل في عملية الحفظ ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
       End Try



لا تنسى إضافة هذا الـ Module في ملف آخر أو في أسفل وخارج الـ Class الخاص بالـ Form :
وظيفتة يرجع جميع عناصر التحكم ( الـ Controls ) الموجودة في النافذة , ( بالطريقة التي إستخدمتها أنت لن يتم إرجاع إلا الـ TopLevel أبناء النافذة فقط , وأي أبناء لعنصر مختلف مثل الـ Panel لن يتم إرجاعهم )
كود :
Public Module ExtensionModule
   <Runtime.CompilerServices.Extension()>
   Public Function FindAllChildren(ByRef StartingContainer As System.Windows.Forms.Control) As List(Of System.Windows.Forms.Control)
       Dim Children As New List(Of System.Windows.Forms.Control)

       If StartingContainer.HasChildren = False Then
           Return Nothing
       Else
           Dim oControl As System.Windows.Forms.Control
           For Each oControl In StartingContainer.Controls
               Children.Add(oControl)
               If oControl.HasChildren Then
                   Children.AddRange(oControl.FindAllChildren())
               End If
           Next
       End If

       Return Children
   End Function
End Module




جرب وأخبرني لأني لا أستطيع إختبار الكود .
الرد
تم الشكر بواسطة: ay.alhaj , rnmr , عبد العزيز البسكري , elgokr
#7
شكرا لك اخي الفاضل وجزاك الله عني كل خير

تم بنجاح
الرد
#8
أهلاً وسهلاً بك ay.alhaj
الرد
تم الشكر بواسطة: ay.alhaj , elgokr
#9
الامور شغالة مية بالمية 

بس في استفسار بسيط انا عندي صورة وبحفظها في قاعدة البيانات بعد التشفير طبقت الكود على الصورة ما زبطت 

لانه ما بعتبر الصورة control

شو الحل بعد اذنك 


وسؤال اخر ما فائدة اول سطر في functionfunction 

وهل يمكن تغيير function ليتناسب مع الكلاس 

بعد اذنك طبعا
الرد
تم الشكر بواسطة:
#10
(03-10-18, 07:36 AM)ay.alhaj كتب : الامور شغالة مية بالمية 

بس في استفسار بسيط انا عندي صورة وبحفظها في قاعدة البيانات بعد التشفير طبقت الكود على الصورة ما زبطت 

لانه ما بعتبر الصورة control

شو الحل بعد اذنك 


وسؤال اخر ما فائدة اول سطر في functionfunction 

وهل يمكن تغيير function ليتناسب مع الكلاس 

بعد اذنك طبعا




لم أفهم أبداً عن ماذا تتحدث ... 
بعد التشفير : لا أعرف ماذا تعني بالتشفير ؟
طبقت الكود على الصورة : أي كود ؟
لانه ما بعتبر الصورة control : الصورة ليست كنترول !!! ( وإذا عندك PictuerBox يعرض الصورة , إذاً هذا هو الكنترول الذي يحمل قيمة الصورة في خصائصة )

إشرح أكثر وأرفق أي كود يساعد على فهم الأمر .
الرد
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال بخصوص البحث باستخدام التاريخ عن طريق WebService masry4u 3 74 08-12-18, 08:36 PM
آخر رد: masry4u
  مساعدة السعيدي 12 285 08-12-18, 12:01 AM
آخر رد: السعيدي
  [VB.NET] استفسار :- بخصوص تنزيل الداتا في قاعدة البيانات dubai.eig 0 34 06-12-18, 04:36 PM
آخر رد: dubai.eig
  سؤال بخصوص الكتابة داخل داتا جريد احمد خطاب 3 72 05-12-18, 11:35 AM
آخر رد: احمد خطاب
  شباب محتاج مساعدة فى اداة ال vlc Mohamed Magdy 2 64 05-12-18, 10:49 AM
آخر رد: Mohamed Magdy
  الاخوة الذين يواجهون مشكلة الحفظ في قاعدة بيانات اكسسس abo ragab 0 103 04-12-18, 11:52 PM
آخر رد: abo ragab
  مساعدة ضرورية بخصوص برنامج Aminsoft 4 168 04-12-18, 06:40 AM
آخر رد: asemshahen5
  كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل atef_020 15 267 01-12-18, 08:09 PM
آخر رد: حريف برمجة
  الحفظ فى جدولين vb2010 2 90 30-11-18, 09:44 PM
آخر رد: vb2010
Star سؤال بخصوص جدول فاتوره المشتريات ، vb2010 0 56 30-11-18, 08:57 PM
آخر رد: vb2010

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم