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

ملئ datagrid من جدولين

مغلق
بدأه غسان.ع في 11 يوليو 2007 · 3 رد · 1,291 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد ملئ datagrid من جدولين

كتبت جملة الsql كالتالي:

 Dim sql As String = "SELECT	 client_num.num, client.client, client.date_, client.purshase, client.pay, client.detail FROM (client INNER JOIN client_num ON client.client = client_num.client)  WHERE client = '" & ComboBox1.Text & "' and date_ Like '%/" & ComboBox2.Text & "/" & TextBox4.Text & "' "

لكن المشكلة في الكود التالي وهو كود ملئ الdatagrid حيث انه يجب كتابة اسم الجدولين اللذين اخذت منهما البيانات)dataadapt.fill) لكن كيف الله اعلم

 Dim da As New OleDb.OleDbDataAdapter(Sql, cnn)
					da1.Fill(ds1, "client")
					DataGrid1.DataSource = ds1.Tables("client")
#2

إذا كانت الـ DataGrid للقراءةِ فقط فـ View في SQL أو query في Access

هما الانسب بحيث تربط الجدولين عبرهما ومن ثم تجلبه للمشروع وتربطه بالاداة.

أما إذا كان للقراءةِ و الكتابة, فمنطق الـ Master & Details هو المخول الشرعي هاهنا,

لان الاداة DataGridView في 2005 بالاخص لا تدعم النمط ذلك

و كانت DataGrid في النسخ السابقة تدعم ذلك,

ربما تجد Third Party مجهز لهذا العمل والله أعلم.

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 12 يوليو 2007 في 20:19

في المثال يتضح المقال

#3

كانت لي عدة محاولات ان اكتب استعلام (query) كما تفضلت اخي الشهاب الحارق لكن كما تلاحظ فإن جملة الsql تحتوي على معاملات (parameter) وكانت المشكلة في معاملات التاريخ حيث اني لم اجد صيغة مناسبة وصحيحة بحيث اضع معاملي السنة والشهر(?/[m]/[y])

لكني بحثت عن كود يوفي بالغرض ووجدت الكود التالي لكن هناك خطأ و هو :

'colunm' argument cannot be null.

parameter name :column

والكود كالتالي :

 Public Function fill_datagrid(ByVal x As DataGrid)

		Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\reg\REGISTER_V2\REGISTER_V2\registerdb.mdb"

		Dim conn As New OleDb.OleDbConnection(connectionString)
		Dim cmdString As String = "SELECT * FROM client"
		Dim dataAdapter As New OleDb.OleDbDataAdapter(cmdString, conn)
		Dim ds As New DataSet()

		dataAdapter.Fill(ds, "client")
		cmdString = "SELECT num FROM client_num"
		dataAdapter = New OleDb.OleDbDataAdapter(cmdString, conn)
		dataAdapter.Fill(ds, "client_num")

		Dim relation As New DataRelation("rltion", ds.Tables("client_num").Columns("client"), ds.Tables("client").Columns("client"))



		ds.Relations.Add(relation)

		Dim dv As New DataView(ds.Tables("client_num"))
		x.DataSource = dv
		Return 0
	End Function

فما هو الخطأ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#4

استخدم try catch finally و اظهر رسالة الخطأ من المصدر Source وانظر المتسبب في هذه الرسالة

لا استطيع في الحقيقة معرفة الخطء لعدم توفر أمور كثيرة قد تكون هي المتسببة في ذلك . فلو أرفقت مثالك كان أفضل بكثير.

بالتوفيق إن شاء الله.

في المثال يتضح المقال

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

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