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

نسخة كاملة : تعديل القيمة null بما يسبقها من قيمة ليست null?
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
ارجو المساعدة في حل هذه المسألة فأنا بحاجة ماسة لها
لدي جدول يحتوى على id عمود ترقيم تلقائي ومفتاح رئيسي وعمود اخر value1 يحتوي على بيانات منها null واخرى ليست null
اريد تحديث القيم null في العمود value1 بما يسبقها من قيمة ليست null

مثال

value1     id
ahmed  1
2   null
3    null
4   ali
5   null


اريد ان تكون النتيجة بعد التحديث كالاتي:
value1     id
ahmed  1
2   ahmed
3  ahmed
4   ali
5   ali

علماً اني استخدم visual studio 2008 لغة vb.net مع قاعدة بيانات access 2007

وشكرا جزيلا
لكي تفعل ذلك و لكي تتحكم ف الأمر جيدا عليك أن تستخدم Collection (Of Integer, String بجيث Integer يمثل ID و String يمثل Value
شكرا على ردك اخي silverlight

متى و كيف استخدم collection ؟
هل بالامكان كتابة جملة استعلام sql تعديل على الجدول ؟
السلام عليكم

موضوع مخالف في

تم النقل الى قسم قواعد البيانات تحت بيئة الـNET.

سيتم حذف الموضوع في المرة القادمة ان لم يكن في القسم المناسب

تحياتي
السلام عليكم
اخي سجاد عذراً على الاختيار الخاطيء للقسم
لدي سؤال ... في الامس رأيت الاخ (الطالب) رد على موضوعي هذا وكتب كود في الرد لحل المشكلة وقال انه كود مجرب واليوم لم اجد الرد ! ما السبب ؟
ارجو المساعدة في حل المسألة جزاكم الله خيراً
سلام

راجع جملت الاتصال واسم الجدول واسم الحقلين id و value1
كود :
Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Using dt As New DataTable

        Using da As New OleDbDataAdapter("SELECT * FROM [table1]", connectionString)
            da.Fill(dt)
        End Using

        Dim lastval As String = String.Empty

        Using conn As New OleDbConnection(connectionString)
            conn.Open()

            Using cmd As New OleDbCommand("UPDATE [table1] SET [value1]=? WHERE [id]=?", conn)

                For Each row As DataRow In dt.Rows

                    If row("value1").GetType.ToString <> "System.DBNull" Then
                        lastval = row("value1")

                    Else
                        cmd.Parameters.Clear()
                        cmd.Parameters.AddWithValue("@value1", lastval)
                        cmd.Parameters.AddWithValue("@id", row("id"))
                        cmd.ExecuteNonQuery()
                    End If

                Next

            End Using

            conn.Close()
        End Using

    End Using
End Sub

موفقين
اخي الطالب جزاك الله خير الجزاء وجعلها في ميزان حسناتك

شكرا جزيلاً تم حل المسألة