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

كيف يتم ربط ال ADODB مع ال DataGrid

مغلق
بدأه fady vb في 1 ديسمبر 2006 · 4 رد · 2,018 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صباح الخير

رسالة الخطأ:

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in bank project.exe

Additional information: The connection cannot be used to perform this operation. It is either closed or invalid in this context.

ملحوظة : انا اعمل على ال ado.com

اريد ان اعرف ما سبب ظهور رسالة الخطا هذه

فالمطلوب من الكود التالى هو عرض بيانات الجدول فى ال datagrid

وهذا الكود كنت استخدمه فى vb6

لكن هنا فى vb.net2003

بيطلع خطا

ارجو المساعدة

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim s As String

cn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=bank.mdb"

s = "select*from mov"

rs.Open(s, cn, ADODB.CursorTypeEnum.adOpenKeyset)

DataGrid1.DataSource = rs

مع العلم انى عندما اكتب كلمة set

مع الداتاجريد تختفى

السلام عليكم

(( عُذراً ))

أخي أحسن الله إليك , إذا شاركت فأحسن أختيار العنوان لانه نصف الموضوع !!

هذه دعوة للإطلاع على قواعد الطرح و المشاركة قبل المضي في كتابةِ موضوعٍ ما.

الموضوع : يلزم إغلاقه للمصلحة العامة. لكن سنتجاوز عنها الان ونطبقها إن تكررت المخالفه ثانيةً.

السلام عليكم.

تم تعديل هذه المشاركة بواسطة الغملاسي في 9 ديسمبر 2006 في 13:59

#2

السلام عليكم

في الحقيقة أهل VB6 أبخص بالسؤال منها لانهم لازالو يتعاملون مع هذا المزود أما أهل الدوت نت فمنهم من لم يسمع عنه.

شاهد المثال التالي:

 Dim s As String = String.Empty
		Dim cn As New ADODB.Connection
		Dim rs As New ADODB.Recordset
		Try
			cn.Open("provider=microsoft.jet.oledb.4.0;data source=C:\Northwind.mdb")
			s = "SELECT * FROM Customers"
			rs.Open(s, cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
			TextBox1.Text = rs.Fields(0).Value.ToString

		Catch ex As Exception
			MsgBox(ex.Message)
		Finally
			s = Nothing
			rs.Close()
			cn.Close()
		End Try

هذا الكود يعمل بنجاح لكن لا أعرف كيف اعرض البيانات في الـ DataGridView كوني أعمل على 2005

تصفح منتدى الـ VB6 ستجد الكثير عن الـ ADODB بالتوفيق إن شاء الله.

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

#3

لا يمكن ربط الـdatagrid بـrecordset مباشرة و لكن توجد طريقة للقيام بذلك بشكل غير مباشر

http://dotnetjunkies.com/Article/359B3669-...E2CD0AC29F.dcik

#4

السلام عليكم

جزاك الله خير أخي وشكرا جزيلاً لك.

الان الكود مكتمل تقريباً إليك ذلك, أو حمل المرفق.

 Dim s As String = String.Empty
		Dim cn As New ADODB.Connection
		Dim rs As New ADODB.Recordset
		Dim CustomersTableAdapter As New OleDb.OleDbDataAdapter
		Dim CustTable As New DataTable("Customers")


		Try
			cn.Open("provider=microsoft.jet.oledb.4.0;data source=C:\Northwind.mdb")
			s = "SELECT * FROM Customers"
			rs.Open(s, cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
			TextBox1.Text = rs.Fields(0).Value.ToString
			CustomersTableAdapter.Fill(CustTable, rs)
			Me.DataGridView1.DataSource = CustTable
		Catch ex As Exception
			MsgBox(ex.Message)
		Finally
			s = Nothing
			rs.Close()
			cn.Close()
		End Try

DataBaseWithADODBObject.rar

تم تعديل هذه المشاركة بواسطة الغملاسي في 9 ديسمبر 2006 في 18:55

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

#5

شكرا وجارى التجربة

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

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