منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] اضافة البيانات من الداتاتابل الي الداتابيز - نسخة قابلة للطباعة

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



اضافة البيانات من الداتاتابل الي الداتابيز - احمد 2021 - 05-04-21

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

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

الملف لة حد اقصي للاعمدة وهم خمسة اعمدة  ولكن ممكن ان يكون بية 3 او 2 او 1  عمود الملف لابد ان يحتوي علي 5 اسماء ثابتة <colaوcolD,colC,colB>  فعايز اقارن بين اسم العمود والاسم الثابت علي اعتبار ان الثابت موجود واسم العمود ليس لة مكان محدد بالاكسيل او الداتاتابل .

ما اريدة هوا نقل البيانات واضافتاها من الداتاتابل الي الداتابيز المشكلة اسماء الاعمدة ممكن تتغير ليس لها عمود محدد او الاعمدة ليست محددة ؟؟

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

كود :
Dim parta, partb, partc, partd As String


Dim i As Integer = 0
For i = 0 To dt2.Rows.Count - 1
If dt2 Is Nothing Then
Exit For : Exit Sub

End If

If (dt2.Rows(0)("cola").ToString = "cola") Then

parta = dt2.Rows(i)("cola")

End If


If (dt2.Rows(0)("colb").ToString = "colb") Then

partb = dt2.Rows(i)("colb")

End If

If (dt2.Rows(0)("colc").ToString = "colc") Then

partc = dt2.Rows(i)("colc")

End If

If (dt2.Rows(0)("cold").ToString = "cold") Then

partd = dt2.Rows(i)("cold")

End If
Dim com As New OleDbCommand("INSERT INTO EXPORT_TB(EXPORT_a,EXPORT_b,EXPORT_c,EXPORT_d) VALUES (@EXPORT_a,@EXPORT_b,@EXPORT_c,@EXPORT_d)", con)

com.Parameters.AddWithValue("@EXPORT_a", OleDbType.VarChar).Value = parta
com.Parameters.AddWithValue("@EXPORT_b", OleDbType.VarChar).Value = partb
com.Parameters.AddWithValue("@EXPORT_c", OleDbType.VarChar).Value = partc
com.Parameters.AddWithValue("@EXPORT_d", OleDbType.VarChar).Value = partd

con.Open()
com.ExecuteNonQuery()
con.Close()

Next