أريد عرض نتائج البحث عن طريق command و reader في datagrid كيف ؟؟؟
علما بأن البحث يكون بجملة select ,,
reader=command.executereader while reader.read أريد عرض النتائج في datagrid end while
أريد عرض نتائج البحث عن طريق command و reader في datagrid كيف ؟؟؟
علما بأن البحث يكون بجملة select ,,
reader=command.executereader while reader.read أريد عرض النتائج في datagrid end while
اخ حازووم استخدم الـ Dataset
وبلاش وجع دماغ :D
VB.NET and C# Comparison
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

بس أنا عايز أعملها من غير Dataset لأنه بيستهلك الذاكره وأنا البرنامج اللي بعمل فيه تقيل طبيعي ومش ناقص ...,,,
أنا لقيت عندي غلط في جملة select ما هو ؟؟
SELECT * FROM info WHERE" & ComboBox1.SelectedItem & "=" & TextBox16.Text
علي أساس ان ال combo فيها أسماء الأعمده اللي بالجدول وال textbox فيه ما تبحث عنه ,,,
كمان مره :
اقتباسأريد عرض نتائج البحث عن طريق command و reader في datagrid كيف ؟؟؟علما بأن البحث يكون بجملة select ,,
reader=command.executereader while reader.read أريد عرض النتائج في datagrid end while
أرجوكم اللي يعرف يساعدني سواء في جملة ال sql أو عرض نتائج البحث في datagrid ,,,
جزاكم الله خيرا ,,,
تم تعديل هذه المشاركة بواسطة hazzoom في 10 أغسطس 2005 في 20:54
السلام عليك
أعتقد أن الخطأ في جملة الاستعلام هو أن نوعية الحقل المراد البحث في هو من نوع text، أيضا لم تترك مسافة بين WHERE و المزدوجتين " تصبح جملة الاستعلام كالتالي
اقتباسSELECT * FROM info WHERE " & ComboBox1.SelectedItem & "='" & TextBox16.Text & "'" 'SQL
بالتوفيق إن شأء الله
السلام عليكم
هنالك طريقة للعزوف عن الـ dataSet في تعبئة الـ DataGrid
الحل هو إستخدام القالب ArrayList كما هو منوه عليه في الـ MSDN
و الحل التفصيلي يكون كالتالي
لنفترض أن لدينا جدول من عامودين ID و Name و نريد أن نضعهم في DataGrid بإستخدام العنصر DataReader
في هذه الحالة سننشئ قالب Class باسم مثلاً Employees تكون فيه خاصيتين الاولى للـ ID و الثانية للـ Name
و تكون تقرأ و تكتب فالقراءة ستكون مدمجة مع القيم التي ستجلب من الـ DataReader بهذا الشكل يتم بِناءه
Public Class Employees Private m_Name As String Public Property Name() As String Get Return m_Name End Get Set(ByVal Value As String) m_Name = Value End Set End Property Private m_ID As String Public Property ID() As String Get Return m_ID End Get Set(ByVal Value As String) m_ID = Value End Set End Property End Class
هذا القالب Class سيكون nested Class اي يركن تحت قالب النموذج form .
الان في النموذج form و بالتحديد في الحدث load سنقوم بتعريف مصفوفة من نوع ArrayList بهذا الشكل
Dim ArrLstEmployee As New ArrayList
ثم نقوم بتعريف مصفوفة من نوع القالب Employees بهذا الشكل
Dim Em() As Employees
ثم نعرف العناصر اللازمة للإتصال بقاعدة البيانات كما هو مألوف بهذا الشكل
Dim sql As String = "SELECT * FROM myTable" Dim cnn As New OleDbConnection cnn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ Application.StartupPath & "\myData.mdb" Dim cmd As New OleDbCommand(sql, cnn) cnn.Open() Dim rdr As OleDb.OleDbDataReader = cmd.ExecuteReader While rdr.Read()
الان عندما يقوم الـ DataReader بالقراءة سنقوم بإعادة تعريف المصفوفة بإستخدام الكلمة المحجوزة في اللغة وهي ReDim
هذه الكلمة تمكننا من إعادة بناء المصفوفة كحجم length
ولن نحتاج إلى الكلمة preserve و التي تقوم بالإحتفاظ بالقيم السابقة في المصفوفة و السبب بسيط كوننا في
سياق النصوص البرمجية قمنا بحفظ تلك القيم عن طريق إضافتها في المصفوفة ArrLstEmployee كما ستشاهد ذلك في النصوص
البرمجية التالية و بهذا الشكل بالتحديد
ArrLstEmployee.Add(Em(0))
السبب الذي جعلنا نعيد بناء المصفوفة هو أننا لا نعرف عدد الصفوف القادمة كما ذكرت آنفاً
و ستلاحظ أنني أقوم ببناء المصفوفة Em() ليكون طولها صف واحد فقط و أكرر هذا البناء كل مرة بعد حفظ قيمها.
ثم بعد البناء نقوم بعملية الإستنساخ ( المهمة) لأننا نتعامل مع قالب المهم أنه يكون بهذا الشكل
ReDim Em(0)
Em(0) = New Employees
Em(0).Name = rdr("userName").ToString
Em(0).ID = rdr("userID").ToString
ArrLstEmployee.Add(Em(0))
End While
rdr.Close()
cnn.Close()بعد ذلك عندما يرجع السلوك Read القيمة False ستنتهي الحلقة بجلب كل القيم من العامودين
لذلك سنقوم الان بإسناد المصفوفة لتكون بمثابة الـ DataSource للعنصر DataGrid بهذا الشكل المألوف
dg.DataSource = ArrLstEmployee
شاهد الملف المرفق ( بالتوفيق للجميع ) و بالتوفيق يا حاااااااااااازم وليس حساااااااااااام B)
السلام عليكم
في المثال يتضح المقال
ألف شكر يا عم choclatboy ,
وجزاااك الله خيرا يا غملاااااااسييييي ,,,
اخ حازووم لا تخاف على الذاكرة لانك بعد ما تجلب البيانات وتحطها فى dataset ,وبعدين تخلى مصدر البيانات للdatagridهو datasetتقدر تلغيها من الذاكرة
dim con as new oledb.oledbconection(your conection string)
dim ds as new dataset
try
dim da as oledb.oledbdtataadapter=new oledb.oledbdataadapter("select * from table",con)
ds.clear
da.fill(ds,"table")
datagrid.datasource=ds.tables("table")
catch ex as exption
msgbox(ex.message")
finally
con.close
ds.dispose
da.disposeVB.NET and C# Comparison
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…