• 0
dbahl75

ارجوا المساعدة فى نقل البيانات من جدول الى جدول فى قاعدة بيانات اخري

سؤال

السلام عليكم 

اريد نقل البيانات من جدول داخل قاعدة بيانات الى جدول اخر فى قاعدة بيانات اخري .

مع العلم قاعدة البيانات والجدول ... هو بنفس اسم الجدول ونفس اسم قاعدة البيانات .

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

14 إجابة على هذا السؤال .

  • 0

في هذه الحالة سيتعين علينا اعاده صياغة الكود لكي يتلائم مع الطلب الجديد

الكود كامل وقاعدتي البيانات محميتين بكلمات مرور

 

Imports System.DataImports System.Data.OleDbPublic 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 SubEnd Class
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
  • 0

شكرا وبارك الله فيك .

قم بتجربة هذا الكود ولم يفلح . او لانه يحتاج بعض الشئ لبعض الايضاح .

وهذا هو الكود

تاريخ المشاركة 2012-04-30 - 10:39 AM

اخوانى الكرام 
ممكن توضيح اكثر على هذا الكود
Try
ds.Clear()
Dim cmd As New OleDbCommand("INSERT INTo copytable1(Id,Name,Phone_Number,EE,mon_name,kind,s peed,m,mm)select * FROM table1", conn)
conn.Open()

cmd.ExecuteNonQuery()
conn.Close()
MsgBox("تمت عملية الترحيل")
Catch ex As Exception
MsgBox(ex.Message)
End Try
هذا الكود خاص بنسخ البيانات ممكن تعديله حسب رؤيتكم لينقل البيانات بدلا من نسخها 
فارجو الرد لانى تعبت جدا من هذا ولم يستطع احد مساعدتى 
  • 0
  •  
  •  

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

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

صممت لك مثال سريعا يقوم بنقل البيانات من جدول العملاء واسمة Tbl_Customers الي جدول Tbl_Customer_MovedData

ويقوم المثال بنقل البيانات من الجدول الاول الي الجدول الثاني مباشرة

اتمني ان يفيدك المثال

MoveDataFrom_TO.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

وبارك الله فيك واعذرني على تعبك .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تم عمل التعديل المطلوب

يوجد بالمثال قاعدتين

القاعده الاولي اسمها DB

القاعده الثانية اسمها DB2

ويتم نقل البيانات من الجدول الاول في القاعده الاولي الي ---- > الجدول  الموجود في القاعده الثانية

بالتوفيق

MoveDataFrom_TO.rar

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
.

 منقول 

 

دالة CopyTableToDatabase لنسخ بيانات جدول من قاعدة بيانات إلى أخرى بشرط وجود نفس الجدول والحقول بقاعدة البيانات الثانية



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 Function


 

طريقة استخدامها



Private 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
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

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

صممت لك مثال سريعا يقوم بنقل البيانات من جدول العملاء واسمة Tbl_Customers الي جدول Tbl_Customer_MovedData

ويقوم المثال بنقل البيانات من الجدول الاول الي الجدول الثاني مباشرة

اتمني ان يفيدك المثال

السلام عليكم

هل من الممكن استخدام شريط التقدم  ProgressBar في المثال السابق MoveDataFrom_TO ليبين عملية النسخ  في حال كانت البيانات كبيرة الحجم ليتم معرفة تقدم عملية النسخ

مع الشكر

تم تعديل بواسطه عدنان الشمري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاستاذ محمد فؤاد انا قمت بتنفيذ الكود الموجود فى المشروع MoveDataFrom_TO ولكن الداتا بيس المراد نقل البيانات إليها عندى لها كلمة مرور و حاولت التعديل و لكن البرنامج بيقولى خطا فى مسار قاعدة البيانات

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كيف يتم النقل اذا كانت قاعدة البيانات SQLserver2008

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

استخدم DTS

ابحث عنها في جوجل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

استاذ محمد فؤاد لو تكرمت ممكن تقوم بتعديل المشروع ليتناسب مع قاعدة بيانات لها كلمة مرور ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

MoveDataFrom_TO.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك جزيلا و لكن انا قصدى ان الباسورد يكون فى الجزء ده من الكود
 

        cmd.CommandText = "INSERT INTO Tbl_Customers_MovedData IN'" & Application.StartupPath & "\DB2.accdb' SELECT * FROM Tbl_Customers;"

 لان الداتا بيس الاخري ليست فى نفس مسار الداتا بيس الى هيتم النقل منها و عند تشغيل الكود بهذا الشكل يتعرف على قاعدة البيانات و لكن يقولى الباسورد غلط و لما اضيف الباسورد بيقولى مسار الداتا بيس غلط :/

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .