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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : جمع حقلين وتخزينهما فى قاعدة البيانات (/showthread.php?tid=8929)



جمع حقلين وتخزينهما فى قاعدة البيانات - صالح الشنطى - 18-05-13

ال
[COLOR="#0000FF"]السلام عليكم
حاولت ان اكتب هذا الكود لجمع حقلين وتخزين الناتج فى حقل ثالث
الكود لم يعطنى خطاء
ولكنة لم يقوم بتخزين الناتج
بحث كثيرا ولم اسطيع الحصول على اجابة
ربما يحتاج الموضوع الى تحديث ولكننى لم استطع[/COLOR]


PHP كود :
Dim ss As String "select * from employ "
        
Dim aad As New OleDbDataAdapter(sscn)
        
Dim dss As New DataSet
        
'dss.Clear()
        aad.Fill(dss, "employ")

        For Each row As DataRow In dss.Tables("employ").Rows
            row.Item("tt13") = row.Item("tt8") + row.Item("tt12")
        Next
        MsgBox("تمت عملية التعديل   بنجاح", MsgBoxStyle.DefaultButton1, " ") 



جمع حقلين وتخزينهما فى قاعدة البيانات - سعود - 18-05-13

الامر بسيط جدا
قاعدة البيانات اسمها db.accdb يعني اكسس 2007
الجدول tb
الاعمدة: tid = ترقيم تلقائي
c1 رقمي
c2 رقمي
c3 رقمي




اضف datagridview
وزر امر
اكتب الروتين التالي وهو فقط لجلب البيانات
كود :
Sub getdaat()      
Dim ds As New DataSet
        Dim da As New OleDbDataAdapter("select * from tb", con)








        ds.Clear()
        DataGridView1.DataSource = Nothing








        da.Fill(ds, "tb")
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "tb"








    End Sub




في حدث تحميل الفورم اكتب
كود :
getdaat()
في مكان التصاريح العامة اكتب
كود :
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"    
Dim con As New OleDbConnection(str)




بحدث النقر لزر الامر اكتب
كود :
Dim sql As String = "select * from tb"        Dim cm As New OleDbCommand(sql, con)








        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        Dim dr As OleDbDataReader = cm.ExecuteReader
        While dr.Read
            Dim up As New OleDbCommand("update tb set c3=c1+c2", con)
            If con.State = ConnectionState.Closed Then
                con.Open()
            End If
            Try
                up.ExecuteNonQuery()








            Catch ex As Exception
                MsgBox(Err.Description, MsgBoxStyle.Critical, "")








            End Try
        End While
        getdaat()



جمع حقلين وتخزينهما فى قاعدة البيانات - صالح الشنطى - 18-05-13

[COLOR="#0000FF"]السلام عليكم
شكرا اخ سعود وبارك الله فيك
فعلا طبقت المثال واشتغل مزبوط
ولكننى كنت اريد ان اعرف ان الكود الذى كتبتة
هل هو صحيح ام لا
ومرة اخرى بارك الله فيك
[/COLOR]



جمع حقلين وتخزينهما فى قاعدة البيانات - سعود - 18-05-13

كودك صحيح فقط ينقص commandbuilder
كود :
Dim ss As String = "select * from tb"        

Dim aad As New OleDbDataAdapter(ss, con)
        Dim co As New OleDbCommandBuilder(aad)
        Dim dss As New DataSet
        dss.Clear()
        aad.Fill(dss, "tb")




        For Each row As DataRow In dss.Tables("tb").Rows
            row.Item("c3") = row.Item("c1") + row.Item("c2")
        Next
        aad.Update(dss, "tb")
        getdaat()
        MsgBox("تمت عملية التعديل   بنجاح", MsgBoxStyle.DefaultButton1, " ")