السلام عليكم
هل يمكن ربط DataGridView مع قاعده بيانات
فى الوضع المتصل بدون أستخدام DataSet
فى فيجوال بيسك 2005
ياريت لو فى مثال على الموضوع ده
السلام عليكم
هل يمكن ربط DataGridView مع قاعده بيانات
فى الوضع المتصل بدون أستخدام DataSet
فى فيجوال بيسك 2005
ياريت لو فى مثال على الموضوع ده
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
السلام عليكم
أخى الكريم code hunter
اولا شكرا لمروك بالموضوع
بس انا مش فاهم الكود الى ان ضفته
بس على قد مانا عرفت انك برضو رابط الداتا جريد بالكائن DataSet
وانا مش عايز أستخدم DataSet
فياريت توضح بمثال بسيط الطريقه
أرجو إفادتى بالرد
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
السلام عليكم
هنالك أكثر من طريقة لعمل ذلك فمثلاً عن طريق الـ Structure أو عن طريق الـ Class
بإحدى هذين العنصرين تستطيع أن تجلب البيانات منسقة من قبليهما و تضعها في مصفوفة و المصفوفة تسندها في DataSource للـ DataGridView
إليك الطريقة عبر استخدام الـ Class object: أو شاهد المثال المرفق:
Imports System.Data.OleDb
Public Class Form1
'Create a connection string
Private ConnectionString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Application.StartupPath & "\Northwind.mdb"
'Create querey value
Private StrSQL As String = "SELECT * FROM Customers"
'Create an arrayList object.
Private arrLstCustomers As New ArrayList
Private Sub btnLoad_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnLoad.Click
'Create a connection object
Using cnn As New OleDbConnection(ConnectionString)
'Open the connection.
cnn.Open()
'Create a command object
Using cmd As New OleDbCommand(StrSQL, cnn)
'Create reader object.
Using rdr As OleDbDataReader = cmd.ExecuteReader
'Declare a customer object.
Dim Cust() As Customers
'While reading data.
While rdr.Read
'Redimintion customers object.
ReDim Cust(0)
'Instantiate an object from customers class .
Cust(0) = New Customers
'Assign values to each property.
Cust(0).CustomerID = rdr("CustomerID").ToString
Cust(0).CompanyName = rdr("CompanyName").ToString
Cust(0).ContactName = rdr("ContactName").ToString
Cust(0).ContactTitle = rdr("ContactTitle").ToString
'Add the customers object to array list object.
arrLstCustomers.Add(Cust(0))
End While
End Using
End Using
End Using
'Assign the arraylist object to datagridview object.
DGV.DataSource = arrLstCustomers
End Sub
End Class
Public Class Customers
Private m_CustomerID As String
Public Property CustomerID() As String
Get
Return m_CustomerID
End Get
Set(ByVal Value As String)
m_CustomerID = Value
End Set
End Property
Private m_CompanyName As String
Public Property CompanyName() As String
Get
Return m_CompanyName
End Get
Set(ByVal Value As String)
m_CompanyName = Value
End Set
End Property
Private m_ContactName As String
Public Property ContactName() As String
Get
Return m_ContactName
End Get
Set(ByVal value As String)
m_ContactName = value
End Set
End Property
Private m_ContactTitle As String
Public Property ContactTitle() As String
Get
Return m_ContactTitle
End Get
Set(ByVal value As String)
m_ContactTitle = value
End Set
End Property
End Classبالتوفيق إن شاء الله.
في المثال يتضح المقال
السلام عليكم
حياك الله أخي العزيز
بالنسبةِ للخبرة فلا أظن أن صاحبك أهلاً لها.
أما بالنسبةِ للفارق بينهما يكمن في أحتياج المبرمج لأي من الطريقتين
فالمذكور في الاعلى للقراءةِ فقط. أما إذا كنت تريد التحديث و الحذف و الاضافة و التعديل فالـ DataSet أفضل
وفي الاخير كلتا الطريقين أأمن عن طريق الـ Dataset كونها Strong Type بينما يعتبر
طريقة الـ Class Object الاسلوب الاضعف Weak Type
لسبب واحد فقط إذا كانت لديك مخطط قاعدة البيانات schema file مثل الملف ذو الامتداد XSD File
فأن مشروعك بحول الله في مأمن عن أخطاء ما يعرف بـ Meta data وهي بيانات البيانات
كأسم الجدول و الحقول و أنواعها و خصائصها وهذا ما يفقده الـ Class Object حتى و إن بذلت فيه مابذلت
والله أعلم.
تم تعديل هذه المشاركة بواسطة الغملاسي في 6 نوفمبر 2006 في 21:12
في المثال يتضح المقال
السلام عليكم
أخوانى الكرام code hunter و الغملاسي
مشكورين على مروركم وردودكم
وانا سوف أجرب الطرق المطروحه
جزاكم الله كل خير
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
مشكورين جدا جدا جدا
-wafأخي الكريم إذا ممكن تعمل نفس الملفات على VB.NET 2003 حتى يتسنى لنا أن نقوم بفتح الملفات و الاستفادة وشكرا
سبحان الذي يغير ولا يتغير
هذا الموضوع مغلق.