بســم الله الـرحمــن الرحيــم
هل يمكن ملأ DataGridView بواسطة DataReader
لو ممكن ارجوا التوضيح بمثال
بســم الله الـرحمــن الرحيــم
هل يمكن ملأ DataGridView بواسطة DataReader
لو ممكن ارجوا التوضيح بمثال
ممكن ,,,,
لكن لماذا لا تستخدم الـ DataTable؟
تم تعديل هذه المشاركة بواسطة HassanAlattas في 17 ديسمبر 2008 في 23:24
[وسط]لا اله الا انت سبحانك انى كنت من الظالمين
[/وسط]
انا بستخدم الداتا سيت بس الداتا ريدر أسرع لو ممكن ياريت التوضيح بمثال
Try
Dim conn As New SqlConnection("Server=MFOUAD\SQLEXPRESS;Database=employees;Trusted_Connection=yes;")
Dim cmd As New SqlCommand("Dept_selectdata", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@Dept_id", _Deptid.Text)
conn.Open()
Dim Dept_idreader As SqlDataReader = cmd.ExecuteReader
Dept_idreader.Read()
Deptname.Text = Dept_idreader("Dept_name").ToString
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
End Try

السلام عليكــم ورحمـة الله وبركاتــه
The Datareader can't be a datasource for the datagridview because it work as a server object and it read the records one be one by using The Read Method as entioned above the previous replay. so the Datasource must be a client object such as datatable Or DataSet because it load all data related to the source.
شكراً على سعة صدركم و ارجو المعذرة لكتابتى بالإنجليزية لأن الكتابة بالعربى مع الإنجليزية يجعل الكلام غير مفهوم قليلاً.
ارجو ان اكون قد افدت و لو قليلاً
انا بستخدم Dataset هل datatable أسرع ولو ممكن مثال باستخدام datatable
السلام عليكم ورحمة الله
هاك اخى العزيز جدا علاء مثال على Datatable
sqlDataAdapter da = new sqlDataAdapter ("Select * from Employee",cnn);
DataTable dt = new DataTable;
da.Fill(dt);
datagridview.Datasource = dt;
هى الاتصال بقاعدة البيانات ولو فيها أىمشكلة فقط اخبرنى وسوف ارسل لك بمشروع صغير يوضح الفكرة (cnn)
ان اجدت فمن الله وان قصرت فمن نفسى
وفقنى ووفقكم لما فيه خير الامه الاسلامية جميعا
ياريت يا أخي الكريم التوضيح يمثال ولي استفسار هل الاسرع استخدام DataSet أم إستخدام DataTable
مشكور Eng.Ibrahim ، كلامك سليم ,
لكن إذا كان المطلوب هو تعبئة الـ DataGridView فقط فالعملية ممكنة بالـ DataReader
اخي علاء ، الـ DataSet اصلاً مكونة من DataTable (جدول) واحد او اكثر ، وانت لما تعبي البيانات باستخدام الـ DataSet
فانت في الواقع بتعبي البيانات في جدول داخل DataSet، يعني ما فيش فرق من حيث السرعة بين استخدام الجدول او الـ DataSet.
جرب الـ DataSet او DataTable وسوف تعرف كم هي اسهل من استخدام DataReader.
و انظر إلى مثال اخي basemshetewy لكي تعرف الطريقة
بالتوفيق اخي.
تم تعديل هذه المشاركة بواسطة HassanAlattas في 18 ديسمبر 2008 في 13:56
[وسط]لا اله الا انت سبحانك انى كنت من الظالمين
[/وسط]
السلام عليكــم ورحمـة الله وبركاتــه
اخوتى ان كنت تريد فقط ملئ الداتا جريد فالأفضل استخدام datatable عن dataset و ذلك لأن dataset تحمل داخلها كائنات كثيرة تحتل جزء من الذاكرة اكثر من الجدول لذا فاستخدام الجدول افضل فى العمل
السلام عليكــم ورحمـة الله وبركاتــه ... من الممكن ويمكنك مراجعة هذا الرابط أخى على موقع كود بروجتك وهى عبارة عن مقالة وضعتها من بكيفية ملأ Datagridview بواسطة Datareader
فى حالة وجود استفسار لا تردد أخى وان شاء الله أجاوبك.
علاء عبدالخالق كتب:انا بستخدم Dataset هل datatable أسرع ولو ممكن مثال باستخدام datatable
توضيح بسيط بخصوص اية الفرق بين ال datatable وال dataset ... ببساطة الاتنين بيشغلوا بنفس الفكرة بمعنى ان كلاهما بيخزن الداتا فى ال Memory ولكن الاختلاف هو ان ال dataTable بتكيش جدول واحد فقط فى ال Memory يعنى انت لو شايف ان هتتعامل مع جدول واحد بس استخدمة ولكن ال DataSet بتجبلك نسخة من كل الجداول بتاعتك فى ال Memory .
ملحوظة أخرى
من كلام الناس ياجماعة لاحظت ان الناس عاوزة performance أحسن علشان كدة يبقى المفروض الناس تفكر هو لية فى DataSet و DataReader ومدام ان كلاهما يقدر يقضى وظيفية التانى طيب لية عملوا الاتنين وبالتالى اكيد كلنا عايز نقول هو اية الفرق و امتى استخدم دة وامتى استخدمة دة ؟
ال DataSet كويسة لل Win طيب لية انت بتعامل مع Application والdb موجود عند ال Client فالاحسن انك تاخد نسخة من الداتا بتاعك فى ال Memory بتاعت المستخدم وتعدل وتضبط البيانات وبعد كدة ترجع تعمل Re-connect تانى بالسيرفر بتاعك ...غير كدة ان مستحدم الويندوز بيتعامل مع داتا كتير وبالتالى مش كل مرة هعوز بيان او عدل بيان او احذف بيان كل شوية اروح للسيرفر ..وبالتالى فكرة الداتا سيت بتقولك خد الداتا واعمل بيها الى انت عايز ثم ارجعلى تانى وانا اعتمد التغيرات.
وال DataReader كويسة لل ويب لانك فى الويب تعتمد على Transfer لداتا فمش معقول المستخدمة مثلا عايز بيان معين من جدول تروح تبعتلة كل الجدوال وبالتالى لو عملت كدة دة معناة انك هتقلل ال Performance لانك بتبعت كمية داتا كبيرة جدا
تم تعديل هذه المشاركة بواسطة ahmed.bohoty في 19 ديسمبر 2008 في 00:30