اخواني الكرام
السلام عليكم
اقوم باستيراد كمية بيانات من اكسيل (حوالي 5000 سطر)
الى داتا ست عندي
وبعد ذلك اقوم بحفظها الى الداتا بيس من نوع اكسس
المشكلة انو عملية الحفظ هدة تاخد وقت طويل للغاية ( اكثر من نصف ساعه ومع ذلك لسه لم ينتهي وقد قام بنقل ثلث البيانات تقريبا)
هل يوجد مشكلة في ذلك
علما انني استخدم الكود التالي
Dim insertCommand As New OleDbCommand
Dim time1 As DateTime
sql = "insert into salama ([no1],[name],[date1],[time],[state]) values (?,?,?,?,?)"
For i As Integer = 0 To ds.Tables("XLSData").Rows.Count - 1
With insertCommand.Parameters
.Add(New OleDbParameter("@no1", OleDbType.Integer))
.Add(New OleDbParameter("@name", OleDbType.VarChar))
.Add(New OleDbParameter("@date1", OleDbType.Date))
.Add(New OleDbParameter("@time", OleDbType.Date))
.Add(New OleDbParameter("@State", OleDbType.VarChar))
.Item("@no1").Value = CInt(ds.Tables("XLSData").Rows(i).Item("No1").ToString)
.Item("@name").Value = CStr(ds.Tables("XLSData").Rows(i).Item("Name").ToString)
.Item("@date1").Value = CDate(CDate((ds.Tables("XLSData").Rows(i).Item("date1"))).ToString("dd/MM/yyyy"))
time1 = CDate(CDate((ds.Tables("XLSData").Rows(i).Item("Time"))).ToString("hh:mm tt"))
.Item("@time").Value = CDate(time1)
.Item("@State").Value = CStr(ds.Tables("XLSData").Rows(i).Item("state").ToString)
End With
Con.Open()
insertCommand.Connection = Con
insertCommand.CommandText = sql
insertCommand.ExecuteNonQuery()
Con.Close()
Nextهل توجد طريقه اخرى لتقليل زمن عملية الحفظ



