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

مشكلة فى الربط مع الداتا جريد

بدأه ensert.net2000 في 13 يوليو 2010 · 12 رد · 1,235 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا استخدم فيجوال بيسك دوت نت 2010 وتقنية الاتصال ado العادية القديمة بتاعت فيجوال بيسك 6

المشكلة فى هذا الكود اريد فرز محتويات هذا الجدول فى اداة الداتا جريد الموجودة فى فيجوال بيسك 2010

الكود المستخدم كالاتي :

    Dim db As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        db.Provider = "Microsoft.Jet.OLEDB.4.0;"
        db.Open(Application.StartupPath & "\DB.mdb")
        Rs.Open("[Table1]", db, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockPessimistic)
DataGridView1.DataSource = Rs


End Sub

اريد حل لهذا الكود على العموم الجدول مكون من 4 حقول

الكود

الاسم

العنوان

التليفون

والسلام عليكم

تم تعديل هذه المشاركة بواسطة ensert.net2000 في 13 يوليو 2010 في 21:36

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#2

اية الحكاية مفيش حل ولا اية

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#3

جرب هذا الكود

        Dim ad As New OleDb.OleDbDataAdapter("select * from table order by column", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Data.mdb;Persist Security Info=True")
        Dim dt As New DataTable
        ad.Fill(dt)
        DataGridView1.DataSource = dt

تم تعديل هذه المشاركة بواسطة fouad_ في 14 يوليو 2010 في 15:04

سبحان الله وبحمده سبحان الله العظيم

لا تنسونا من صالح دعائكم ...

وفقكم الله وسدد خطاكم ...

#4

أخي يمكن أستخدام فرز DataGrid بعد تعبئتها مباشرة عن طريق الكود التالي:


dataGridView1.Sort(ColumnCode, ListSortDirection.Ascending);

حيث ColumnsCode هو اسم العمود الذي تريد فرزه حيث انه كل عمود يظهر في DataGrid له اسم لاستخدامه في الكود

ارجو ان تكون وصلت الفكرة وتحققت الفائدة

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#5

مشكور اخ فؤاد والاخ was_hal

على سرعة الرد

بالنسة للكود

        Dim ad As New OleDb.OleDbDataAdapter("select * from table", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Data.mdb;Persist Security Info=True") 
        Dim dt As New DataTable 
        ad.Fill(dt) 
        DataGridView1.DataSource = dt

اشتغل تمام ولدى سؤال اخر

هل الكود دة تبع تقنية ado.net ام لا

ثانيا هل ممكن استخدم عملية البحث بعد تعديل الكود السابق الى هذا الكود

        Dim ad As New OleDb.OleDbDataAdapter("select * from table where Code ='" 200 "'"", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Data.mdb;Persist Security Info=True") 
        Dim dt As New DataTable 
        ad.Fill(dt) 
        DataGridView1.DataSource = dt

حيث ان ال Code هو حقل فى قاعدة البيانات و 200 هى كلمة البحث والبحث هنا فى النمط النصى وليس الرقمى

هل هذا الكود شغال ام لا

ارجوا كتابة الطريقة الصحيحة لهذا الكود لو كانت الطريقة خاطئة

اما بالنسبة للاخ was_hal

اقتباس
أخي يمكن أستخدام فرز DataGrid بعد تعبئتها مباشرة عن طريق الكود التالي:

 dataGridView1.Sort(ColumnCode, ListSortDirection.Ascending);

حيث ColumnsCode هو اسم العمود الذي تريد فرزه حيث انه كل عمود يظهر في DataGrid له اسم لاستخدامه في الكود

ارجوا توضيح الفكرة

ملحوظة انا استخدم تقنية Ado وليس Ado.net

هتقول لية هقولك

انا شغال على برنامج قمت بتصميمة بالفيجوال بيسك 6 منذ 9 سنوات وقاعدة البيانات اكسس

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

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

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#6

السلام عليكم

--

لدى مشكلة انا اعتقد ان حلها مع الاخ Was_hal فى المشاركة السابقة تحت هذا الكود

dataGridView1.Sort(ColumnCode, ListSortDirection.Ascending);

المشكلة اننى قمت بالتعديل على اداة الجريد واضفت عناوين خاصة بها على حسب نمت البرنامج وعند عمل البحث واظهار النتائج فيها ظهرت المشكلة وهى الاتى

تجاهل تصميم العناوين الخاصة واضاف عناوين اخري بعناوين السجلات الموجودة داخل قاعدة البيانات

فما هل هذة المشكلة بحيث يفرز البيانات فى العناوين والاعمدة التى قمت بتصميمها وتوضح الصورة مدى المشكلة اكثر

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

post-60610-050107000 1279119874_thumb.pn

المرفقات
Capture.PNG

تم تعديل هذه المشاركة بواسطة ensert.net2000 في 14 يوليو 2010 في 18:07

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#7

نعم عزيزي الكود السابق يتبع تقنية ado.net

وبإمكانك إستخدام الكود التالي للبحث كما تفضلت

        Dim ad As New OleDb.OleDbDataAdapter("select * from table where Code ='" 200 "'"", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Data.mdb;Persist Security Info=True")  
        Dim dt As New DataTable  
        ad.Fill(dt)  
        DataGridView1.DataSource = dt

سبحان الله وبحمده سبحان الله العظيم

لا تنسونا من صالح دعائكم ...

وفقكم الله وسدد خطاكم ...

#8

اشكرك اخ فؤاد

ولكن لدى سؤال فى المشاركة السابفة

اقتباس
السلام عليكم

--

لدى مشكلة انا اعتقد ان حلها مع الاخ Was_hal فى المشاركة السابقة تحت هذا الكود

dataGridView1.Sort(ColumnCode, ListSortDirection.Ascending);

المشكلة اننى قمت بالتعديل على اداة الجريد واضفت عناوين خاصة بها على حسب نمت البرنامج وعند عمل البحث واظهار النتائج فيها ظهرت المشكلة وهى الاتى

تجاهل تصميم العناوين الخاصة واضاف عناوين اخري بعناوين السجلات الموجودة داخل قاعدة البيانات

فما هل هذة المشكلة بحيث يفرز البيانات فى العناوين والاعمدة التى قمت بتصميمها وتوضح الصورة مدى المشكلة اكثر

ارفق صورة

post-60610-042703500 1279196530_thumb.pn

المرفقات
Capture.PNG

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#9

لقد قمت بحل هذة المشكلة بفضل ربى عز وجل

من خلال هذا الكود

    Sub GetTextDataGridView()
        DataGridView1.ClearSelection()
        Dim ad As New OleDb.OleDbDataAdapter("select * from Table where Code='" & _
                                             "5544" & "'", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Data.mdb;Persist Security Info=True")
        Dim dt As New DataTable
        ad.Fill(dt)
        DataGridView1.DataSource = dt
        DataGridView1.Columns(0).HeaderText = ""
        DataGridView1.Columns(0).Width = 0
        DataGridView1.Columns(0).Visible = False
        '--
        DataGridView1.Columns(1).HeaderText = ""
        DataGridView1.Columns(1).Width = 0
        DataGridView1.Columns(1).Visible = False
        '--
        DataGridView1.Columns(2).HeaderText = "مسلسل"
        DataGridView1.Columns(2).Width = 60
        DataGridView1.Columns(2).Visible = True
        '--
        DataGridView1.Columns(3).HeaderText = "الرقم التسلسلى"
        DataGridView1.Columns(3).Width = 120
        DataGridView1.Columns(3).Visible = True
        '--
        DataGridView1.Columns(4).HeaderText = "اسم الصنف"
        DataGridView1.Columns(4).Width = 250
        DataGridView1.Columns(4).Visible = True
        '--
        DataGridView1.Columns(5).HeaderText = "الوحدة"
        DataGridView1.Columns(5).Width = 60
        DataGridView1.Columns(5).Visible = True
        '--
        DataGridView1.Columns(6).HeaderText = "الكمية"
        DataGridView1.Columns(6).Width = 60
        DataGridView1.Columns(6).Visible = True
        '--
        DataGridView1.Columns(7).HeaderText = "السعر"
        DataGridView1.Columns(7).Width = 100
        DataGridView1.Columns(7).Visible = True
        '--
        DataGridView1.Columns(8).HeaderText = "الاجمالى"
        DataGridView1.Columns(8).Width = 100
        DataGridView1.Columns(8).Visible = True
        '--
    End Sub

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#10

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

أن تضع أسماء الأعمدة بالكويري كالتالي

select column1 as 'الرقم المتسلسل' from table

وهكذا لكل الأعمدة

تم تعديل هذه المشاركة بواسطة fouad_ في 15 يوليو 2010 في 16:01

سبحان الله وبحمده سبحان الله العظيم

لا تنسونا من صالح دعائكم ...

وفقكم الله وسدد خطاكم ...

#11

يريت توضح اكثر

ويكون الكود كامل

والفكرة عبارة عن اية

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#12

الفكرة أن تضع datagridview على الفورم دون ربطه مع data source و من خلال الكود كما أسلفنا سابقا تقوم بعمل الكويري وإضافة إسم الحقل لكل عامود في جملة ال select كالتالي

select column1 as 'header1',column2 as 'header2' from table

وهكذا بحيث تكون النتيجة من الكويري السابقة datagridview فيها عودين العمود الأول يظهر إسمه header1 والثاني header2 وهكذا

وشكرا ...

سبحان الله وبحمده سبحان الله العظيم

لا تنسونا من صالح دعائكم ...

وفقكم الله وسدد خطاكم ...

#13

وضحت الفكرة

تمام

ولكن الكود الذى حصلت علية افادنى فى تحديد حجم او اظهار column1 او اخفائها وهى محملة بالداتا للاستفادة منها فيما بعد بالضغط عليها مثالا بصيت

   Sub GetTextDataGridView()
        DataGridView1.ClearSelection()
        Dim ad As New OleDb.OleDbDataAdapter("select * from Table_Category where No_Invoice='" & _
                                             "5544" & "'", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|DB.mdb;Persist Security Info=True")
        Dim dt As New DataTable
        ad.Fill(dt)
        DataGridView1.DataSource = dt
        DataGridView1.Columns(0).HeaderText = ""
        DataGridView1.Columns(0).Width = 0
        DataGridView1.Columns(0).Visible = False
        '--
        DataGridView1.Columns(1).HeaderText = ""
        DataGridView1.Columns(1).Width = 0
        DataGridView1.Columns(1).Visible = False
        '--
        DataGridView1.Columns(2).HeaderText = "مسلسل"
        DataGridView1.Columns(2).Width = 60
        DataGridView1.Columns(2).Visible = True
        '--
        DataGridView1.Columns(3).HeaderText = "الرقم التسلسلى"
        DataGridView1.Columns(3).Width = 120
        DataGridView1.Columns(3).Visible = True
        '--
        DataGridView1.Columns(4).HeaderText = "اسم الصنف"
        DataGridView1.Columns(4).Width = 250
        DataGridView1.Columns(4).Visible = True
        '--
        DataGridView1.Columns(5).HeaderText = "الوحدة"
        DataGridView1.Columns(5).Width = 60
        DataGridView1.Columns(5).Visible = True
        '--
        DataGridView1.Columns(6).HeaderText = "الكمية"
        DataGridView1.Columns(6).Width = 60
        DataGridView1.Columns(6).Visible = True
        '--
        DataGridView1.Columns(7).HeaderText = "السعر"
        DataGridView1.Columns(7).Width = 100
        DataGridView1.Columns(7).Visible = True
        '--
        DataGridView1.Columns(8).HeaderText = "الاجمالى"
        DataGridView1.Columns(8).Width = 100
        DataGridView1.Columns(8).Visible = True
        '--
    End Sub

فى الكود السابق تجد ان اول حقل من العرض مخفى ولكن محمل ببيانات الحقل

والاستفادة منة فى عمل كليك بالموس على السجل المعروض من الداتا يظهر نتيجة بحث مبنية على الحقل الاول

واثاث الحقل الاول هو رقم تلقائى

وضحت لك الفكرة

او فى فكرة اخرى مماثلة لها اعطينى

الله يعطيك المزيد من العلم

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

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