تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية نقل بيانات من قاعدة بيانات اكسس الى ملف اكس ام ال
#1
كاتب الموضوع : egyption-coder



كود :
Imports System.Data.OleDb 'نقوم باستيراد الأتى للداتا بيز و الأم اكس ال

Imports System.Xml
'طبعا ننشئ داتا بيز و نضع بها جدول و نغير اسم الداتا بيز و الجدول فى الكود طبقا للملف الذى انشأناه

Public Class Form1

Dim strAcessFilePath As String 'متغير لتحديد امتداد الداتا بيز

Dim strXmlFilePath As String ' متغير لتخزين امتداد ملف اكس ام ال

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

strAcessFilePath = System.Windows.Forms.Application.StartupPath & "\hassan.mdb" ' تحديد امتداد الداتا بيز

strXmlFilePath = "C:\ملف بيانات العملاء.xml" 'هنا نحدد امتداد ملف اكس ام ال

GetDataFromAcessFile() 'هذا لتشغيل الصب التالى
End Sub

Private Sub GetDataFromAcessFile()

Dim aCon As OleDbConnection ' نقوم بتعريف متغيرللأتصال بالداتا بيز

Dim aCmd As OleDbCommand ' ونعرف متغير لأمر الأستعلام

Dim strCon As String ' هذا متغير لجملة الأتصال

Dim strQuery As String ' و هذا لجملة الأستعلام " السيليكتايه"م

'نبدأ فى انشاء الأتصال

strCon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= C:\hassan.mdb ;User ID=Admin;Password="
'و يمكن استبدال هذا السطر بالذى قبله strCon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & strXmlFilePath & " ;User ID=Admin;Password="


aCon = New OleDbConnection(strCon)

aCon.Open() ' نفتح الأتصال

strQuery = "Select * from Customers" 'Customers و هذا هو الأستعلام من الجدول المسمى

aCmd = New OleDbCommand(strQuery, aCon) ' وهذاامر الأستعلام

Dim da As New OleDbDataAdapter ' و الأن ادابتر لنقوم بالأستعلام و ملئ الداتا سيت ببيانات الأستعلام

da.SelectCommand = aCmd ' اولا استعلام

Dim ds As DataSet ' ثانيا انشاء داتا سيت

ds = New DataSet("Customers") ' نضع الجدول الخاص بالعملاء فى الداتا سيت

da.Fill(ds, "New Customers") 'نملأ جدول جديد بنفس بيانات الأستعلام

Dim dt As DataTable ' نعرف متغير للجدول الجديد

dt = New DataTable()

dt = ds.Tables("New Customers") 'نضع الجدول الجديد بالمتغير

CreateXMLFile() 'نقوم بأنشاء ملف اكس ام ال بأستعمال الصب الأخير فى هذا الكود

WriteToXml(dt) ' نقوم بالكتابة الى ملف الأكس ام ال باستخدام الصب التالى

aCon.Close() ' نغلق الأتصال

End Sub

Private Sub WriteToXml(ByVal Acessdt As DataTable)

'كتابة الجدول الى ملف الأكس ام ال

If Dir(strXmlFilePath).Length = 0 Then

CreateXMLFile()

End If 'لو الملف غير موجود نقوم بأنشائه باستخدام الصب الأخير

Dim XmlDoc As New XmlDocument ' نعرف محتوى للملف

Dim xNode As XmlNode ' نحدد متغير لنضع به النودز

Dim xElement As XmlElement ' و نعرف متغير للعناصر الخاصة بالملف لنضع بها عناصر الجدول

Dim NewxElement As XmlElement ' و نعرف متغير للعناصر الخاصة بالملف لنضع بها عناصر الجدول المتفرعة من الفيلدات


XmlDoc.Load(strXmlFilePath) ' حسنا الان نرفع محتويات الملف

If XmlDoc.DocumentElement.HasChildNodes = False Then ' و نتأكد انه لا توجد نودز بمحتوى الملف

Dim inti As Integer

Dim intCol As Integer


'نبدأ باضافة النودز
'هنا نتحرك صف صف

For inti = 0 To Acessdt.Rows.Count - 1 ' تم ملئه عندما قمنا بعمل لود Acessdt

xNode = XmlDoc.CreateNode(XmlNodeType.Element, "customer", Nothing) '(مجال الأسماء-اسم النود-نوع النود)

xElement = XmlDoc.DocumentElement.AppendChild(xNode)

xNode = Nothing
' فى داخل الصف نتحرك عمود عمود

For intCol = 0 To Acessdt.Columns.Count - 1

xNode = XmlDoc.CreateNode(XmlNodeType.Element, Acessdt.Columns(intCol).Caption, Nothing)’ لآحظ ان اسم النود هنا مرتبط بالعامود

NewxElement = xElement.AppendChild(xNode)

NewxElement.SetAttribute("value", Acessdt.Rows.Item(inti).Item(intCol)) ' و هنا نحدد العنصر المضاف برقم الصف و رقم العامود

Next intCol

Next

End If

XmlDoc.Save(strXmlFilePath) ' نقوم بحفظ المحتوى

End Sub

Private Sub CreateXMLFile() ' هنا ننشئ الملف



If Dir(strXmlFilePath).Length <> 0 Then ' لو الملف موجود يتم اعدامه

Kill(strXmlFilePath)

End If

Dim xTextWriter As New XmlTextWriter(strXmlFilePath, Nothing) ' نعرف رايتر لكتابة تكست الى الملف

xTextWriter.WriteStartDocument() 'الأن نقو بكتابة اصدار الملف <?xml version="1.0" ?>

xTextWriter.WriteComment("هذا الملف يحتوى على بيانات العملاء") ' الباقى لا يحتاج لشرح

xTextWriter.WriteComment("هذا المثال لأعضاء فيجوال بيزيك العرب.")

xTextWriter.WriteStartElement("Customers")

xTextWriter.WriteEndElement()
xTextWriter.WriteComment(" Egyption coder.مع تحيات")

xTextWriter.Flush()

xTextWriter.Close()

End Sub

End Class

}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] أريد كود الحفظ والتعديل والحذف في قاعدة بيانات اكسس 2007 libyan_snipe64 2 3,119 21-10-16, 11:30 PM
آخر رد: omartaz
  البرنامج بعد وضعه في صورة exe لا يتعامل مع قاعدة البيانات محمد خلف زكي 0 93 04-08-16, 05:10 AM
آخر رد: محمد خلف زكي
  شرح كيفية صنع محرر html واستخدامه كـ dll سعود 6 1,589 26-08-13, 09:21 PM
آخر رد: Sajad
  شرح كيفية برمجة( مثال نسخ الملفات من مكان انت تحدده الى مكان انت تحدده بامتداد انت تحدده) سعود 1 1,023 16-08-13, 04:09 PM
آخر رد: ali.alfoly
  كيفية عمل صورة - مدورة - Rouded PictureBox ! RaggiTech 0 735 17-10-12, 09:55 PM
آخر رد: RaggiTech
  كيفية عمل String عشوائي ! RaggiTech 0 523 17-10-12, 09:54 PM
آخر رد: RaggiTech
  مثال يشمل عملية الحذف والتعديل والاضافة على قاعدة البيانات RaggiTech 0 1,153 17-10-12, 09:23 PM
آخر رد: RaggiTech
  فائدة - كيفية عمل Ping RaggiTech 0 1,140 17-10-12, 09:00 PM
آخر رد: RaggiTech
  مثال - ربط جدولين في قاعدة بيانات اكسس من خلال فيجول دوت نت 2008 RaggiTech 0 2,471 17-10-12, 08:36 PM
آخر رد: RaggiTech
  كيفية تحويل DataTable إلى Object List RaggiTech 0 446 17-10-12, 07:27 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم