الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن تصدير ال DataSet الى جدول في الاكسس

مغلق
بدأه دون سيلفاتور في 29 سبتمبر 2005 · 6 رد · 1,008 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا اريد استخدام الاداه SmartReport.ocx لانشاء التقارير الاختياريه

فهل حد يساعدني (ولو شويه !!) في تصدير ال DataSet او الى جدول في اكسس ؟

السؤال انطرح من قبل في قسم ال sql لكن محد جاوب عليه

ممكن تساعدوني ؟

وشكرا

تم تعديل هذه المشاركة بواسطة معتز شمس في 29 سبتمبر 2005 في 21:54

abo_alzobaer@hotmail.com

#2

أنا لا أعلم ما فائدة هذه الأداه ؟ اخبرني ماتريد أن تفعل ؟

هل تريد نقل احدى الـ Data الموجوده في الـ DataSet الى Access ?

تم تعديل هذه المشاركة بواسطة معتز شمس في 29 سبتمبر 2005 في 21:58

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

لا أعلم طريقة مباشرة لحفظ محتوى الـ DataSet الى Access لكن يمكنك حفظ محتوياتها الى ملف XML كالتلي:

DataSet.WriteXML("XML file path to save");

بهذه الطريقة يمكنك بعد ذلك فعل ما تريد بملف الـ XML ..

رأس الحكمة الإيمان بالله

#4

اخي العزيز معتز شمس

الاداه هذه موجوده بالمنتدى

ووظيفتها انك تمرر لها select statment تعطيك ريبورت بالناتج

وهي من تصميم الاستاذ محمد بدوي

لكن عيبها انها تشتغل من اكسس فقط وليس من sql

لذلك انا عندي بيانات sql server اريد اخذ select معينه من الداتابيز ...ولتكن :

select id,name from student where id =15 and Sdate like '15/02/1985'

راح تطلع لي ناتج معين

الناتج هذا ابغي اخزنه بالداتا بيز اكسس كجدول باسم repTable

علشان اقدر اطلع منه الريبورت !

حاولت اتواصل مع محمد بدوي بخصوص الاداه هذي لكن الظاهر انه مشغول !

لذلك اريد طريقة التصدير

فكرت بطريقة عمل جدول

وافراغ البيانات اليه بواسطة ال Loop

لكنه مانفع وما استوعبتها

------

اخي محمد عبدالعليم

وجهة نظر جميله لكني للاسف اجهلها !!

وشكرا لمرورك ياعزيزي

abo_alzobaer@hotmail.com

#5

طيب انتو اختصرتو لي الطريق

كيف اكون جدول اكسس بواسطة XML ?

abo_alzobaer@hotmail.com

#6
اقتباس
الناتج هذا ابغي اخزنه بالداتا بيز اكسس كجدول باسم repTable

علشان اقدر اطلع منه الريبورت !

يـــــاه طيب وليه اللفه الكبيره دي ... ماتطلع الـ Report من الـ SQL Server على طول وخلاص.

عموما لو انت مصمم على نقل الـ Data من SQL الى Access .. ده مثال أنا كتبتهولك بنائا على جملة الـ Select التي قمت أنت بكتابتها في الأعلى :

بافتراض أن الجدول في Access اسمه repTable موجود في ملف اسمه accessDataBase.mdb ويحتوي بالترتيب من اليسار على هذه الأعمده ::

id , name , sdate

وبافتراض أن الجدول الموجود في SQL اسمه mySQLTable موجود في قاعدة بيانات اسمها MyDataBase وأيضا صمم بنفس تصميم جدول الأكسيس id , name , sdate.

اكتب الكود مع تغيير ما يلزم ::

SqlConnection mySQLConnection;
SqlCommand mySQLCommand;
SqlDataReader mySQLReader;
OleDbConnection myAccessConnection;
OleDbCommand myAccessCommand;

// بنظبط الاتصال بتاع السيكول وبعدين نفتحه
mySQLConnection = new SqlConnection("data source=localhost; initial catalog=MyDataBase; Integrated Security=true;");
mySQLConnection.Open();
 	 
// بنظبط الاتصال بتاع الأكسيس ونفتحه
myAccessConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=accessDataBase.mdb");
myAccessConnection.Open();
 	 
// بنحط الكويري وننفذ الكوماند
mySQLCommand = new SqlCommand("Select id,name,sdate from mySQLTable",mySQLConnection);
mySQLReader = mySQLCommand.ExecuteReader();
 	 
// بنحضر كوماند الأكسيس , وجملة الاضافه تحتوي على علامات استفهام لأننا سنستخدم الباراميترز
myAccessCommand = new OleDbCommand(@"insert into repTable values(?,?,?)",myAccessConnection);
 	 
// نضيف الباراميترز للكوماند ويجب أن يكونوا بنفس الترتيب الذي اتبعناه في تصميم الجدول.
myAccessCommand.Parameters.Add("age",OleDbType.Integer);
myAccessCommand.Parameters.Add("name",OleDbType.LongVarChar);
myAccessCommand.Parameters.Add("sdate",OleDbType.Date);

// نقرأ من السيكول
while(mySQLReader.Read())
{
// نسند البيانات إلى البراميترز الخاصه بالكوماند الخاص بالأكسيس على أساس البيانات القادمه من الجدول الموجود في السيكول
myAccessCommand.Parameters[0].Value = mySQLReader[0];
myAccessCommand.Parameters[1].Value = mySQLReader[1];
myAccessCommand.Parameters[2].Value = mySQLReader[2];

// ننفذ الكوماند الخاص بالأكسيس ليضيف البيانات
myAccessCommand.ExecuteNonQuery();

// ProgressBar ابأه ظبط كدا حاجه تصبر المستخدم .. مثلا 
}

 // :(  بنقفل الحاجات بأه خلاص 
mySQLReader.Close();
mySQLConnection.Close();
myAccessConnection.Close();

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#7

اشكرك جدا يا اعز الناس !

انا ابغيها لاداة الاستناذ محمد بدوي SmartReport لانها لا تأخذ الا من الاكسس

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

طريقة سهله وجميله

سارفق الكود قريبا باذن الله

abo_alzobaer@hotmail.com

هذا الموضوع مغلق.

مواضيع مشابهة