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

درس في ADO.NET 2005

مثبّترائج
بدأه yaseralshikh في 31 يوليو 2006 · 202 رد · 80,577 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#151

أشكرك حبيبي crazy.net

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

اخوي ياسر الشيخ اذا ما عليك كلافه لن الموضوع مهم عندي شوي اذا ممكن ارفعلك النسخه تبع مشروعي تشوف المشاكل اللي انا حايس فيهاا

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

#152

بارك الله فيك اخونا crazy.net فعلا موضوع هام جدا واظن انه لاغنى عنه لأى مبرمج

والى الامام دائما ونحن معك ان شاء الله وجزاك الله كل خير

#153

اخي crazy.net شكراً على رفع الملف ..

وأخي Oxygen لا ترفع لنا مشروعك الاساسي ولكن اصنع لنا مشروع صغير توضح فيه المشاكل التي انت حايس فيها ، وذلك من أجل إذا تأخرت أنا بالرد عليك يرد عليك غيري ومن هو أفضل مني ..

والله الموفق ..

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#154

جزاك الله خير اخ ياسر حفظك الله

وإن تكرمت ان تضع رابط للبرنامج الذي هو في أول صفحة وكذلك للمشروع الثاني لأني جربت كل الروبط وما لقيت فيها شي

ولك كل تحية وتقدير

#155

أخي beeerooo عليك بالرابط الموجود في الصفحة رقم 15 فهو يعمل 100 %

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#156

أخي العزيز وأستاذي الفاضل ياسر الشيخ

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

إنني آسف على التأخير في الرد لانشغالي في عمل إداري أبعدني عن الجلوس أمام الحاسوب رغم دخولي إلى المنتدى ورؤية كل جديد فيما يخص موضوعي Ado.net فجزاك الله عني كل الخير لما بذلته وتبذله من جهد في سبيل إنارة الطريق لنا للولوج إلى عام النت باركك الله وأكثر من أمثالك .

أستاذي لدي سؤال خاص بتعديل البيانات عجزت كليا عن الوصول لحل له ملخص البرنامج

لدي DataGridView به عدد من الصفوف التي أخذت من جدول من جداول الـ DataSet وأريد عن الضغط DoubleClick على الصف يفتح نموذج آخر به صناديق نص تعبأ ببيانات الصف الذ تم عليه الفعل وعند الضغط على زر الحفظ يقوم البرنامج بحفظ التغييرات على ذات السجل بالجدول الموجود بالـ DataSet ومن تم حفظ البيانات في قاعدة البيانات الأصلية وقد قمت أنا بالتالي :

	Private Sub DGV1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGV1.DoubleClick
		Dim sd As String
		sd = DGV1.CurrentRow().Cells(0).Value
		NewOld = "OldR"
		Dim SQLIn As String
		SQLIn = "Select * from Phone where P_Name = '" & sd & "'"
		Dim DapIn As OleDb.OleDbDataAdapter
		DapIn = New OleDb.OleDbDataAdapter(SQLIn, Con)
		DapIn.Fill(DstIn, "Phonein")

		ShowData()
		Form2.Show()
	End Sub
 '------------------------------------------------------------------------
   Sub ShowData()
		Form2.TextBox1.DataBindings.Clear()
		Form2.MaskedTextBox1.DataBindings.Clear()
		Form2.MaskedTextBox2.DataBindings.Clear()
		Form2.MaskedTextBox3.DataBindings.Clear()
		Form2.MaskedTextBox4.DataBindings.Clear()
		Form2.MaskedTextBox5.DataBindings.Clear()
		Form2.TextBox1.DataBindings.Add(New Binding("Text", DstIn, "Phonein.P_Name"))
		Form2.MaskedTextBox1.DataBindings.Add(New Binding("Text", DstIn, "Phonein.Fon_N1"))
		Form2.MaskedTextBox2.DataBindings.Add(New Binding("Text", DstIn, "Phonein.Fon_N2"))
		Form2.MaskedTextBox3.DataBindings.Add(New Binding("Text", DstIn, "Phonein.Fon_N3"))
		Form2.MaskedTextBox4.DataBindings.Add(New Binding("Text", DstIn, "Phonein.Fon_N4"))
		Form2.MaskedTextBox5.DataBindings.Add(New Binding("Text", DstIn, "Phonein.Fon_N5"))
	End Sub

وفي حدث زر أمر الحفظ في النموذج الثاني Form2 كتبت الكود التالي :

	 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		If NewOld = "NewR" Then
			Dim CmdB As New OleDb.OleDbCommandBuilder(Dap)
			Dim NewRec As DataRow
			NewRec = Dst.Tables("MyPhone").NewRow()
			NewRec.Item("P_Name") = TextBox1.Text
			NewRec.Item("Fon_N1") = MaskedTextBox1.Text
			NewRec.Item("Fon_N2") = MaskedTextBox2.Text
			NewRec.Item("Fon_N3") = MaskedTextBox3.Text
			NewRec.Item("Fon_N4") = MaskedTextBox4.Text
			NewRec.Item("Fon_N5") = MaskedTextBox5.Text
			Dst.Tables("MyPhone").Rows.Add(NewRec)
			Dap.Update(Dst, "MyPhone")
		Else
			Dim CmdIn As New OleDb.OleDbCommandBuilder(DapIn)
			DapIn.Update(DstIn, "Phonein")
		End If
		Form1.DGV1.AutoResizeColumn(1)
		Me.Close()
	End Sub
#157

أخي وأستاذي العزيز Crazy.net

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

أشكرك كل الشكر على ما تقدمه من دروس شيقة والحقيقة أننا أستفدنا منها كثيرا ومزيدا من الشرح (المفصل الممل) عن التعامل مع البيانات

ولدي سؤال أرجو أن أجد إجابته من أحد الأساتذة الكرام وهو

في DataGridView أريد أن أغير عناوين رؤوس العمدة علماً بأنني أخصص الـ DataSource الخاصة بالـ DataGridView بالبرمجة أي بإصدار الأمر :

DataGridView1.DataSource = DataSet Name

#158

أخي عمران أنا أفتقدك كثيراً ،،،

بخصوص طبك الاول أظن ان الامر بسيط ولكن يحتاج على بعض الوقت وأنا حاليا منشغل ، وسأعاود النظر إليه في وقت لاحق ، الطلب الثاني وهو ما يخص تغيير اسم عنوان العمود ، فعليك بالكود التالي ..

DataGridView.Columns(0).HeaderText = "FirstName"
DataGridView.Columns(1).HeaderText = "LastName"

ولكني أريد أن أعرف هل شاهدت الكود الذي كتبته لك فيما يخص حذف الجداول من الـ DataSet ..

لاني قمت بتطويره بشكل أكثر مرونه .. ولولا ضيق الوقت لكنت أرفقته الأن ، ولكني حال ما أفرغ من بعض الاعمل سوف ارفقه ..

تم تعديل هذه المشاركة بواسطة yaseralshikh في 18 أبريل 2007 في 19:55

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#159

أخي وصديقي العزيز وأستاذي القدير ياسر الشيخ

اللهم لا يفقدك عزيز على قلبك وجمعك الله بكل عزيز عليك في الجنة إنه على كل شئ قدير

أخي لقد رأيت أمر حذف الجدول من الـ DataSet وهي جميلة جداً ومفيدة جداً وسأحاول العمل بها في برامجي للتأكد من فاعليتها وسأبلغك إن شاء الله بما أتوصل إليه .

وقد جربت منح أعمدة الـ DataGridView إسم جديد ونجحت معي 100% فباركك الله وأجزل لك العطاء كما تحب وترغب .

أستاذي لازلت أعاني من السؤال الأول وهو حفظ التعديل في السجل الذي أخذت بياناته من الـ DataGridView للنموذج الثاني وأرجو أن أجد الحل على صفحات المنتدى قريباً إن شاء الله

ودمت لنا

#160

أخي عمران .. و إخوتي الأحبه في هذا الصرح العلمي الشامخ ،،،

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

يبدو لي أن طلبك بسيط ، ولكني أريدك أن ترفق لنا محاولاتك في مشروع صغير ، كي نشاهده ونعدل عليه بما يناسب .

أما ما يخص حذف الجداول التي تم تخزينها في الكائن DataSet ، فيتم كما اخبرتك في المشاركة السابقة بالكود التالي ..

MyDataSet.Tables.RemoveAt(0)

حيث يشير الرقم 0 إلى الجدول الأول داخل الكائن DataSet ، ماذا يحدث لو كان يوجد لدينا الكثير من الجداول داخل الكائن DataSet ، بالطبع سيكون تحديد رقم الجدول المراد حذفه شاق ومرهق ، لذلك فكرت في أنه لو أستطعنا حذف الجدول بمجرد كتابة إسمه الذي خزناه به فسيكون الأمر ممتع و سهل للغاية ، لذلك قمت بصنع هذا الإجراء الفرعي الذي يتولى هذه المهمة ، فلنلقي عليه نظرة متفحصة ..

Private Sub DeleteTableFromDataSet(ByVal dataSet As DataSet, ByVal TableName As String)
		Dim Indix As Integer = dataSet.Tables.Count - 1
		Do While (dataSet.Tables.Count > 0)
			Dim table As DataTable = dataSet.Tables(Indix)
			' First check to see if the table can be removed
			If (dataSet.Tables.CanRemove(table)) Then
				' Second check to see if the table Name Is Like TableName
				' then remove it.
				If (table.TableName = TableName) Then
					dataSet.Tables.RemoveAt(Indix)
					Exit Do
				End If
			End If
			Indix -= 1
		Loop
	End Sub

وعندما نريد تنفيذ هذا الإجراء نقوم بتمرير متغيرين له ، الأول الكائن DataSet الذي نريد أن نحذف الجدول منه ، والثاني إسم الجدول الذي نريد حذفه ..

DeleteTableFromDataSet(ds, "Information3")

وللتأكد من أن الجدول المحدد قد حذف ، يمكننا الاستعلام عن عدد الجداول قبل وبعد الحذف ، أو تنفيذ الإجراء التالي قبل وبعد الحذف ..

	Private Sub GetTableNames(ByVal dataSet As DataSet)
		Dim table As DataTable
		Dim txt As String
		For Each table In dataSet.Tables
			txt += table.TableName + vbNewLine
		Next table
		MsgBox(txt)
	End Sub

هذا الإجراء يعرض لنا أسماء الجداول المخزنة في الكائن DataSet ، وهو يعمل من خلال تمرير اسم الـ DataSet التي نريد معرفة أسماء جداولها المخزنة فيها ، ويتم استدعاء هذا الإجراء ، بالكود التالي ..

GetTableNames(ds)

والله الموفق

تم تعديل هذه المشاركة بواسطة yaseralshikh في 20 أبريل 2007 في 05:43

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#161

أخي العزيز وأستاذي القدير

تحية طيبة نابعة من صميم قلبي

تبارك الرحمن عليك أخي العزيز كفيت ووفيت وهذا يدل على غزارة علمك وكرمك

أما بخصوص سؤالي حول تعديل البيانات على سجل محدد عند الضغط مرتين في DataGridView فمرفق لك مثال عبارة عن برنامج صغير كمفكرة هواتف أرجو التصحيح ودمت لنا أستاذا ومعلما وصديقاً عزيزا

Phone1.rar

#162

السلام عليكم

انا مازلت في البدايه ولي سؤال عن الكود التالي

daTheBankAndData.Fill(MyDS, "TheBankAndData")

"TheBankAndDataهل هذا veiwتم عمله في قاعدة البيانات ام ماذا

وشكرا على هذا المنتدى الرائع

#163

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

أخي assmb يوجد درس في توقيعي يشرح بعنوان " درس في ADO.NET من الصفر إلى الإحتراف . " يشرح الكود المذكور بالتفصيل .. وأي أستفسار يمكنك يمكنك السؤال هناك وسوف تجدني إن شاء الله ..

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#164

أخي عمران لقد قمت بالتعديل على مشروعك وأعدت بنا الكود من جديد بالشكل المطلوب وهو يعمل 100% ، شاهد التعديل وأي استفسار أنا جاهز إن شاء الله ...

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#165

أخي وأستاذ ياسر الشيخ

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

تبارك الرحمن عليك وجزاك عني كل الخير وجعلها في ميزان حسناتك

أستاذي لقد قمت بتنزيل البرنامج الذي قمت بتعديله وأول ما قمت بتشغيله تبين لي دقة الكود والاختصارات الشديدة التي عملتها وهذا يدل على درايتك بلغة البرمجة فزادك الله علما ونفعنا به جميعاً ، ولكن أستاذي العزيز لا زالت المشكلة والمحددة في سؤالي قائمة حيث أنني عند أضغط ضغطتين متتاليتين على أي سجل في صندوق العرض DGV1 يظهر لي النموذج رقم 2 ويتم التعديل ويتم تحديث التعديل في صندوق العرض DGV1 ولكن للأسف الشديد هذا التعديل يتم فقط في بيانات حاضن البيانات DataSet فقط أما جدول قاعدة البيانات الرئيسي Phone Table لم يتأثر بهذا التغيير ولم تحفظ به التعديلات التي قمت بها أرجو أن تجرب ذلك بنفسك وتختبره والتأكد من ذلك وأتمنى أن تجد الحل وتعرضه على المنتدى لتعم الفائدة .

كثر الله من أمثالك وجعل الله ما تقوم به زكاة على ما علمك أياه ونور عقلك وقلبك بنور التقوى والهداية ورزقك الحكمة والمعرفة وأياكم (اللهم آمين)

#166

معك حق ياأخي عمران ، لم أنتبه لذلك ، وقمت بالتعديل على الكود واختصرته أكثر مما كان ، وهو يعمل الأن ، ولكن هذه المرة ( إن شاء الله ) يعمل بنسبة 1000% ..

MyPhone.rar

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#167

أخي وأستاذي العزيز ياسر الشيخ

باركك الله وكثر من أمثالك ورزقك الله بكل حرف تكتبه حسنة ومحى عنك سيئة

فعلا أشتغل البرنامج بالكامل من تعدير وإضافة وبحث ومن الملاحظ أنك أستخدمت فقط BindingSource فمتى تشرح لنا هذه الوظيفة بتوسع وتفصيل ممل وهل نستطيع العمل في كافة البرامج مهما كبرت أما أن امكانياتها محدودة .

جزاك الله عني وعن كل من أستفاد من هذا المثال خيراً ودمت لنا ولأسرتك .

#168

الحمد لله من قبل ومن بعد ، الكائن BindingSource يعتبر فاكهة الإصدار 2005 ، وإمكاناته رائعة جداً ، وبالطبع سوف أشرحة بالتفصيل الممتع إن شاء الله ( وليس الممل كما تقول :blink: لست غاضب من هذه الكلمة فأنا أيضا أستخدمها في بعض الأوقات ) ، ولكن كل شيء يأتي في وقته المناسب . والله الموفق ...

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#169

الأخ العزيز /ياسر الشيخ

سعدت كثيراً بوجود أحد أبناء المنطقة وهو يكتب في هذا الموقع الرائع ، بكل صدق وعناية لمصلحة القارئ المتعطش وراء المعلومة وأتمنى من الله أن يوفقك في حياتك ، ويسعد أيامك كما أسعدت أيامنا بإسلوبك المتميز في شرح المفيد لنا.

وشكراً

#170

أستاذي وأخي العزيز

أشكرك جزيل الشكر على اهتمامك وأنا فعلا جد آسف على هذه الكلمة النابية ولكن عزائي والذي أرجو أن تقبله منى أنني لم أقصد المعنى النصي للكلمة ولكن يقال لأي شئ يطول تفصيله بالممل ويقصد به الكلام فيه بجميع فروعه ونواحيه وتفصيلاته الظاهرة والباطنة أشكرك مرة أخرى على التنبيه وأتمنى على الله ألا أعيدها

أخي العزيز أنا في شوق كبير لتعلم المزيد والمزيد فوفقك الله لتعليمنا وجزاك عنا كل الخير ، ولي سؤال في المثال السابق هو:

لقد وضعت ScrollBars لـ DataGridView ولكن رسم على Form وليس على DataGridView وهذا سبب في اختفاء أزرار الأوامر عند بدء التشغيل فكيف الحل لذلك وهل يتم تجميد جزء من الفورم أما ماذا .

#171

أستاذنا القدير ياسر الشيخ

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

أرجو من الله أن يكون تغيبك خيراً ورزقك الله العافية

شغلتنا عليك يارجل لأن هذا التغيب ليس من طبعك فأرجو أن يكون المانع خيرا

#172

و الله انا مش عارف اقولك حاجة غير جزاك الله خيرا و زادك من علمة

انا لسة من المبتداين فى لغة البرمجة

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

Private Sub FillDataSetAndView()

'Try

' Initialize a new instance of the DataSet object...

MyDS = New DataSet()

MyDS.Clear()

' Fill the DataSet object with TheBankAndData...

daTheBankAndData.Fill(MyDS, "TheBank,Data")

' Set the DataView object to the DataSet object...

MyDataView = New DataView(MyDS.Tables("TheBank,Data"))

' Set our CurrencyManager object to the DataView object...

MyCurrencyManager = CType(Me.BindingContext(MyDataView), CurrencyManager)

cn.Close()

'Catch ex As Exception

' MessageBox.Show(ex.Message, " Fill the DataSet and bind the fields... ", MessageBoxButtons.OK, _

' MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, _

' MessageBoxOptions.RtlReading)

'End Try

End Sub

باللهعليك تفدنى بسرعة

#173

أخي مرسي ..

يجب أن تذكر لنا رسالة الخطأ ، ويجب أن تتأكد من أنه تم الإتصال بقاعدة البيانات بشكل صحيح ..

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#174

السلام عليكم اخوانى

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

انا بعتلك صورة الايرور بتقول اية يا ريت تفدنى لانى لسة من المبتداين معلش بتعبك معايا

اقتباس

الماس كتلة من الفحم الحجرى تكونة بفعل الضغوط

post-113644-1179491684_thumb.jpg

#175

أخي مرسي ..

من الصوره التي أرسلتها ، فهمت أنك لن تستطيع ربط أداة التحكم التي تستخدمها بمصدر البيانات ، والسبب ربما لم تكتب اسم العمود Number بشكل صحيح أو أن هناك خلل في كود الربط وهوغير واضح في الصوره التي كنت قد عرضتها ، كما يبدو لي أنك استخدمت المعالج في الاتصال بقاعدة البيانات وهذ جيد فلماذا لا تترك المعالج يتولى عملية ربط الادوات من مربعات نص وغيرها ..

ونصيحتي لك كمبتدئ أن تبدأ بتعلم الكود وعندما تتقنه وتعرف كيف تتم الامور حينها يمكنك استخدام المعالج كي يختصر لك الوقت .

ارجوا أن تتعلم من الدرس الخاص بتعلم ADO.NET من الصفر إلى الإحتراف في توقيعي ..

والله الموفق ..

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

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