منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تخزين مباشر بالداتا جريد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : تخزين مباشر بالداتا جريد (/showthread.php?tid=20431)



تخزين مباشر بالداتا جريد - alma_fandi - 18-05-17

السلام  عليكم ورحمه الله وبركاته

ارجو حل  المشكلة

الكود  شغال  تمام  اضافة  بيانات  للداتا جريد
المشكلة انه ما  بخزن مباشرة  لازم اطلع  من  الفورم وارجع  مرة  ثانية  لتضهر  نتائج  الاضافة بالداتا جريد

كود :
Private Function SaveData() As Boolean
       Try

           Dim sql As String =
               " INSERT INTO [Scion] ([Name2],[Date2],[Nat2],[Nat_num2],[Invoice],[ckeck],[info]) " & _
               " VALUES( @Name2,@Date2,@Nat2,@Nat_num2,@Invoice,@ckeck,@info) "
           Using cmd As New OleDbCommand(sql, Con)
               With cmd

                   .Parameters.AddWithValue("Name2", txtName.Text.Trim)
                   .Parameters.AddWithValue("Date2", date2.Value.Date)
                   .Parameters.AddWithValue("Nat2", cbonat2.Text.Trim)
                   .Parameters.AddWithValue("Nat_num2", Val(txtNationalityID.Text))
                   .Parameters.AddWithValue("Invoice", TextBox2.Text.Trim)
                   .Parameters.AddWithValue("ckeck", CheckBox1.Checked)
                   .Parameters.AddWithValue("info", info.Text.Trim)
                 

               End With

               MsgBox("تم حفظ البيانات بنجاح", MsgBoxStyle.Information, "ألف مبروك")
               Me.DialogResult = Windows.Forms.DialogResult.OK

               If Con.State <> ConnectionState.Open Then Con.Open()

               cmd.ExecuteNonQuery()
               Con.Close()
           End Using


           Return True
       Catch ex As Exception
           MsgBox(ex.Message)
           Return False
       End Try
   End Function



RE: تخزين مباشر بالداتا جريد - alma2 - 18-05-17

هذا الكود موجود في فورم تم استدعاءه من فورم آخر
يجب القيام بتعبئة الداتاجريد من جديد بعد السطر الذي استدعى هذه الفورم في الفورم الآخر


RE: تخزين مباشر بالداتا جريد - alma_fandi - 18-05-17

(18-05-17, 02:59 AM)alma2 كتب : هذا الكود موجود في فورم تم استدعاءه من فورم آخر
يجب القيام بتعبئة الداتاجريد من جديد بعد السطر الذي استدعى هذه الفورم في الفورم الآخر

شكرا


RE: تخزين مباشر بالداتا جريد - nooralcown - 10-01-18

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


RE: تخزين مباشر بالداتا جريد - عبدالله الدوسري - 11-01-18

أخ alma_fandi
ممكن سؤال
هل أنت مجبر على كتابة كل هذا :
جملة الإدراج : INSERT INTO Table (Bla,Bla,Bla,Bla,Bla,Bla) Vlaues (Bla,Bla,Bla,Bla,Bla,Bla)

وكتابة الأكواد الخاصة بربط القيم مع البراميترز
.Parameters.AddWithValue("Name2", txtName.Text.Trim)
.Parameters.AddWithValue("Date2", date2.Value.Date)
.Parameters.AddWithValue("Nat2", cbonat2.Text.Trim)
.Parameters.AddWithValue("Nat_num2", Val(txtNationalityID.Text))
.Parameters.AddWithValue("Invoice", TextBox2.Text.Trim)
.Parameters.AddWithValue("ckeck", CheckBox1.Checked)
.Parameters.AddWithValue("info", info.Text.Trim)
             
وإنشاء  Command
وفتح الإتصال بشكل يدوي
ثم تنفيذ أمر  Command
ثم إغلاق الإتصال
ثم تحتاج إلى أكواد أخرى لإسترجاع البيانات من قاعدة البيانات بعد العملية مثل الترقيم التلقائي الجديد للسجلات الجديدة

أم انه مطلوب منك أن تكتب بهذة الطريقة ؟



لأنه توجد طرق أسهل بكثير قام فريق ( Visual Studio  ) بتطويرها منذ اكثر من 10 سنوات بإستخدام ( BindingSource    و   DataSet    و   TableAdapter    و    TableAdapterManager)
لا تحتاج منك كتابة سطر واحد : نعم لن تكتب سطر واحد فيما يخص جمل الإدراج والحذف والتحديث وجلب البيانات وعمليات الإتصال وتنفيذ أوامر قاعدة البيانات وتنسيب القيم في Parameters لإجراء العمليات التي تتم على قاعدة البيانات
الـــ Visual Studio يقوم بكتابة جميع الأوامر وبشكل إحترافي في ملفات خاصة بالــDataSet    
حتى أنه يمكنك من حفظ بيانات وإدراج وتعديل على أكثر من جدول وليس جدول واحد بواسطة أمر واحد عن طريق الـــ TableAdapterManager أي بكتابة سطر واحد فقط وإذا فشلة العملية في أحد الجداول يتم إفشال كامل العملية مع جميع الجداول بإستخدام (Transaction) وذلك لحفظ ما يسمى بتكامل البيانات
كل هذة الأدوات ( BindingSource    و   DataSet    و   TableAdapter    و    TableAdapterManager) يتم إنشائها تلقائياً في الفورم ويتم ربطها مع بعضها تلقائياً 



حتى لو كنت مبرمج جديد على الــ VB.NET انصحك وبشدة البداء في التعامل مع الأدوات التي ذكرتها لك.

إذا احببت تعلم هذة الأدوات يسرني المساعدة

تحياتي ...