السلام عليكم
اريد نقل البيانات من جدول داخل قاعدة بيانات الى جدول اخر فى قاعدة بيانات اخري .
مع العلم قاعدة البيانات والجدول ... هو بنفس اسم الجدول ونفس اسم قاعدة البيانات .
وشكرا
السلام عليكم
اريد نقل البيانات من جدول داخل قاعدة بيانات الى جدول اخر فى قاعدة بيانات اخري .
مع العلم قاعدة البيانات والجدول ... هو بنفس اسم الجدول ونفس اسم قاعدة البيانات .
وشكرا
شكرا وبارك الله فيك .
قم بتجربة هذا الكود ولم يفلح . او لانه يحتاج بعض الشئ لبعض الايضاح .
وهذا هو الكود
تاريخ المشاركة 2012-04-30 - 10:39 AM
أخي الفاضل
السلام عليكم ورحمة الله وبركاتة
صممت لك مثال سريعا يقوم بنقل البيانات من جدول العملاء واسمة Tbl_Customers الي جدول Tbl_Customer_MovedData
ويقوم المثال بنقل البيانات من الجدول الاول الي الجدول الثاني مباشرة
اتمني ان يفيدك المثال


بارك الله فيك اخي الكود شغال مع نفس قاعدة البيانات ولكن المشكلة اني اريد نسخ جدول من قاعدة بيانات الى جدول اخر فى قاعدة بيانات اخرى وهذه المشكلة التى اواجهها .
وبارك الله فيك واعذرني على تعبك .
تم عمل التعديل المطلوب
يوجد بالمثال قاعدتين
القاعده الاولي اسمها DB
القاعده الثانية اسمها DB2
ويتم نقل البيانات من الجدول الاول في القاعده الاولي الي ---- > الجدول الموجود في القاعده الثانية
بالتوفيق


Private Function CopyTableToDatabase(ByVal tableName As String, ByVal fromDatabaseName As String, ByVal fromDatabasePassword As String, ByVal toDatabaseName As String, ByVal toDatabasePassword As String, Optional ByVal Access2007 As Boolean = False) As Boolean
Try
Dim provider As String = IIf(Access2007, "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0")
Dim conFrom As New OleDb.OleDbConnection("Provider=" & provider & ";Data Source=" & fromDatabaseName & ";Jet OLEDB:Database Password=" & fromDatabasePassword & ";")
Dim conTo As New OleDb.OleDbConnection("Provider=" & provider & ";Data Source=" & toDatabaseName & ";Jet OLEDB:Database Password=" & toDatabasePassword & ";")
conTo.Open()
Dim comTo As New OleDb.OleDbCommand("Delete from " & tableName, conTo)
comTo.ExecuteNonQuery()
conTo.Close()
conFrom.Open()
Dim comFrom As New OleDb.OleDbCommand("Insert into [" & toDatabaseName & ";PWD=" & IIf(toDatabasePassword = "", " ", toDatabasePassword) & "]." & tableName & " SELECT * From " & tableName, conFrom)
comFrom.ExecuteNonQuery()
conFrom.Close()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End FunctionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'If CopyTableToDatabase("Table1", Application.StartupPath & "\db1.mdb", "", Application.StartupPath & "\db2.mdb", "", False) Then
If CopyTableToDatabase("Table1", Application.StartupPath & "\Database1.accdb", "", Application.StartupPath & "\Database1.accdb", "", True) Then
MsgBox("تم النسخ بنجاح")
Else
MsgBox("فشلت عملية النسخ")
End If
End Subتم تعديل هذه المشاركة بواسطة vbnetvbnet في 28 فبراير 2014 في 10:59
.
أقوال مميزة من منتدى الفريق العربي للبرمجة (قيد التحديث)
الأستاذ: محمد طلال بدوي كتب:إن صحبة الناجحين تصيب بعدوى النجاح، ويا لها من عدوى جميلة، تشعرك بجو من الحماسة والمنافسة، وتبقيك مشتعلا في بحث مستمر عن المراكز الأولى.
.الدكتورة: زهرة (أم عهود) كتب:والله لا نريد من هذه الدنيا شيء إلا ان نكون اخوة متحابين في الله يجمعنا طلب العلم ومساعدة الآخرين لوجه الله تعالى.
محمد فؤاد تركي كتب:أخي الفاضل
السلام عليكم ورحمة الله وبركاتة
صممت لك مثال سريعا يقوم بنقل البيانات من جدول العملاء واسمة Tbl_Customers الي جدول Tbl_Customer_MovedData
ويقوم المثال بنقل البيانات من الجدول الاول الي الجدول الثاني مباشرة
اتمني ان يفيدك المثال
السلام عليكم
هل من الممكن استخدام شريط التقدم ProgressBar في المثال السابق MoveDataFrom_TO ليبين عملية النسخ في حال كانت البيانات كبيرة الحجم ليتم معرفة تقدم عملية النسخ
مع الشكر
تم تعديل هذه المشاركة بواسطة عدنان الشمري في 1 أبريل 2014 في 07:38
الاستاذ محمد فؤاد انا قمت بتنفيذ الكود الموجود فى المشروع MoveDataFrom_TO ولكن الداتا بيس المراد نقل البيانات إليها عندى لها كلمة مرور و حاولت التعديل و لكن البرنامج بيقولى خطا فى مسار قاعدة البيانات
كيف يتم النقل اذا كانت قاعدة البيانات SQLserver2008
استاذ محمد فؤاد لو تكرمت ممكن تقوم بتعديل المشروع ليتناسب مع قاعدة بيانات لها كلمة مرور ؟
اشكرك جزيلا و لكن انا قصدى ان الباسورد يكون فى الجزء ده من الكود
cmd.CommandText = "INSERT INTO Tbl_Customers_MovedData IN'" & Application.StartupPath & "\DB2.accdb' SELECT * FROM Tbl_Customers;"
لان الداتا بيس الاخري ليست فى نفس مسار الداتا بيس الى هيتم النقل منها و عند تشغيل الكود بهذا الشكل يتعرف على قاعدة البيانات و لكن يقولى الباسورد غلط و لما اضيف الباسورد بيقولى مسار الداتا بيس غلط :/
في هذه الحالة سيتعين علينا اعاده صياغة الكود لكي يتلائم مع الطلب الجديد
الكود كامل وقاعدتي البيانات محميتين بكلمات مرور
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using sourceConnection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DB.accdb;Jet OLEDB:Database Password=123456;"),
destinationConnection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DB2.accdb;Jet OLEDB:Database Password=123456;"),
adapter As New OleDbDataAdapter("SELECT * FROM Tbl_Customers", sourceConnection),
insertCommand As New OleDbCommand("INSERT INTO Tbl_Customers_MovedData values (@CustID,@CustName,@JoiningDate)", destinationConnection),
deleteCommand As New OleDbCommand("DELETE FROM Tbl_Customers", sourceConnection)
insertCommand.Parameters.Add("@CustID", OleDbType.VarChar, 100, "CustID")
insertCommand.Parameters.Add("@CustName", OleDbType.VarChar, 100, "CustName")
insertCommand.Parameters.Add("@JoiningDate", OleDbType.VarChar, 100, "JoiningDate")
adapter.InsertCommand = insertCommand
adapter.DeleteCommand = deleteCommand
adapter.AcceptChangesDuringFill = False
Dim table As New DataTable
adapter.Fill(table)
adapter.Update(table)
table.AcceptChanges()
sourceConnection.Open()
deleteCommand.ExecuteNonQuery()
sourceConnection.Close()
End Using
MsgBox("Data Moved", MsgBoxStyle.Information, "Moved")
End Sub
End Class

هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…