الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حيرني التعامل مع dataset

مغلق
بدأه عبدالجليل العقوري في 5 أغسطس 2005 · 2 رد · 652 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الاعزاء

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

لقد واجهتني مشكلة عند الترتيب والاضافة في قاعدة البيانات sql server والا كواد التالية والتي أتمنى منكم التاكد من صحتها وايفادي بالرد .

فالكود الاول وهو يوضح الترتيب السجلات بناءا على حقل يختاره المستخدم والمشكلة هنا هي انه يعرض جميع الحقول الا الحقل المفتاح والذي كان يجب ان يظهر في text1.text

Dim DS As New DataSet

Dim WithEvents bmb As BindingManagerBase                

'==========================================================================

Private Sub Form20_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

Dim adepter As New SqlDataAdapter("SELECT* MASTRANS order    (by    MASTRANS.REQNO",cn                                                        

                                                                                                                  Dim cm1 As SqlCommand      

'==========================================================================

                                                                                                                                              DS.Clear        

                                                                                                                          ("depter.Fill(D1, "m1

                                                              ("TextBox1.DataBindings.Add("text", DS, "m1.REQNO

                                                          ("TextBox7.DataBindings.Add("text", DS, "m1.REMARK1

                                          ("DateTimePicker1.DataBindings.Add("value", DS, "m1.TRANSDT

                                                               ("TextBox5.DataBindings.Add("text", DS, "m1.CCODE

                                                              ("TextBox4.DataBindings.Add("text", DS, "m1.ISS_NO

                                                                                          ("DataGrid1.SetDataBinding(DS1, "m1

                                                                                                                DataGrid1.Visible = False

                                                                                            ("bmb = Me.BindingContext(DS, "m1

                                                                                                                               bmb.Position = 0

                                                                                                                                TextBox1.Focus            

                                                                                                                                                End sub

'==========================================================================

لإعادة ترتيب السجلات بناءاً على حقل يختاره المستخدم

Private Sub Orderby_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     Handles Button1.Click                            

                                                                    If select2 = "MASTRANS.REQNO" Then searca = 7

                                                                If select2 = "MASTRANS.TRANSDT" Then searca = 8

                                                                    If select2 = "MASTRANS.CCODE" Then searca = 9

                                                                                                                        storg = bmb.Position

                                                                                                                                        DS1.Clear

Dim adepter1 As New SqlDataAdapter("SELECT * mastrans order by " & select2, cn

                                                                                                 ("adepter1.Fill(DS, "m1  

                                                                                                                                  end subعند تنفيذ الكود بالنقر على الــ button1 يتم عرض البيانات في مربع النص عدا مربع النص TextBox1 رغم أن جملة الربط موجودة في الـ Form20_Load

                                                    ("TextBox1.DataBindings.Add("text", DS, "m1.REQNO

ما السبب في ذلك .

والكود الثاني هو الاضافة

Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

("Dim s As String = "insert into MASTRANS (REQNO,CODE,CCODE) values(@x1,@x2,@x3

                                                                                             (Dim cm As New SqlCommand(s, cn

                                                                                                              Dim cm1 As SqlCommand

                                                                                                              Dim cm2 As SqlCommand

                                                                       ((cm.Parameters.Add("@x1", Trim(TextBox1.Text                                                              

                                                                                     cm.Parameters.Add("@x2", "4") 'CODE

                                                   cm.Parameters.Add("@x3", Trim(TextBox5.Text)) 'CCODE            

                                                                                                                  cm.ExecuteNonQuery                                                                

عند استخدام

                                                                                     (" bmb = Me.BindingContext(DS, "m1

                                                                                                                             bmb.Position = 0والسؤال هو عند إضافة سجل جديدة لقاعدة البيانات هل من الضروري إضافة السجل الجديد إلى الــ dataset

والسبب عند استخدام الكود في button Add لإضافة سجل جديد يتم إلغاء السجل السابق من dataset

تم تعديل هذه المشاركة بواسطة walcom في 6 أغسطس 2005 في 11:10

"نحن لا نستسلم... ننتصر أو نموت.... وهذه ليست النهاية... بل سيكون عليكم أن تحاربوا الجيل القادم والاجيال التي تليه... اما أنا... فإن عمري سيكون أطول من عمر شانقي."

عمر المختار

اللهم انعم على بلادي بالأمن والأمان

#2

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

تقبل تحياتي

رفيق لا خسرته خسرت العمر كله ورفيق لا خسرته سلمت من الخساره

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

افضل محاضراته بالنسبه لي هي الأقصى والخونة

#3

السلام عليكم

أعتقد أن الطريقة الأسهل في عملية ترتيب الجدول حسب حقل يختاره المستعمل أو تصفيتها Filtering حسب مدخلات معينة (عملية البحث)، دون اللجوء كل مرة لتجديد محتوى DataSet، الطريقة هي استعمال DataView.

فـ DataSet يتم تحميلها في بداية عملية Load Form، بعد ذلك نضع محتوى جدول معين من DataSet داخل DataVeiw، يجدر الاشارة الى أنه يجب أولا تعريف متغير عام بالنسبة للفورم

Dim DS As New DataSet

Dim DV As New DataView

وبعد تحميل DataSet نضع جدولا من جداولها داخل DataView

DV.Table = DS.Tables("tablename")

ولترتيب الحقول حسب حقل Name مثلا فالكود يصبح

DV.Sort = "Name ASC"

يبقى شيئ آخر يا أخ عبد الجليل هو عملية Databinding بالنسبة لـ TextBoxes يجب أن تكون كالتالي بدل DS ضع DV

 ("TextBox1.DataBindings.Add("text", DV, "m1.REQNO

بالتوفيق إن شاء الله

ChoclatB0y

هذا الموضوع مغلق.

مواضيع مشابهة