تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب ١٠ اسطر من قاعدة البيانات
#1
أواجة مشكلة غريبة ممكن من الضغط هناك شيء خاطئ ولم اشاهد

احوال جلب ١٠ اسطر من قاعدة البيانات فقط
لكن عند استخام الكود تجلب جميع الاسطر ولا اعرف ما السبب

هذا الكود المستعمل :

PHP كود :
// method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{

 
               if (_con.con.State == ConnectionState.Closed)
 
               {
 
                   _con.con.Open();
 
               }

 
               query2 "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               ds2.Clear();
 
               dt2.Rows.Clear();

 
               DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
               DataAdapter2.Fill(ds2"cust");
 
               DataAdapter2.Fill(dt2);

 
               _con.con.Close();

 
               GV2.DataSource ds2.Tables[0];
 
               GV2.Refresh();

 
               GV2.Columns[0].Visible false;
 
               GV2.Columns[1].HeaderText "اسم الزبون";
 
               GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
string query2 "Select TOP (10) [ID], [cname] from [cust] ORDER BY cdate DESC";
 
           ds2.Clear();
 
           dt2.Clear();
 
           DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
           DataAdapter2.Fill(ds2"cust");
 
           dt2 ds2.Tables["cust"]; 
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , wared , wared , ابراهيم ايبو
#3
شكرا جزيلا اخي على الرد

قمت بتجربة هذا من قبل لكن اواجة هذا الخطاء

إقتباس :System.Data.OleDb.OleDbException: 'The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.'



مع العلم ان الكود يعمل اذا قمت بازاله الترتيب ORDER BY cdate DESC

الرد }}}
تم الشكر بواسطة: wared , wared , ابراهيم ايبو
#4
(20-06-19, 04:48 AM)Rabeea Qbaha كتب :
أواجة مشكلة غريبة ممكن من الضغط هناك شيء خاطئ ولم اشاهد

احوال جلب ١٠ اسطر من قاعدة البيانات فقط
لكن عند استخام الكود تجلب جميع الاسطر ولا اعرف ما السبب

هذا الكود المستعمل :

PHP كود :
// method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{

 
               if (_con.con.State == ConnectionState.Closed)
 
               {
 
                   _con.con.Open();
 
               }

 
               query2 "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               ds2.Clear();
 
               dt2.Rows.Clear();

 
               DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
               DataAdapter2.Fill(ds2"cust");
 
               DataAdapter2.Fill(dt2);

 
               _con.con.Close();

 
               GV2.DataSource ds2.Tables[0];
 
               GV2.Refresh();

 
               GV2.Columns[0].Visible false;
 
               GV2.Columns[1].HeaderText "اسم الزبون";
 
               GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

تعديل
PHP كود :
       // method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{
 
               string sql "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               DataTable dt = new DataTable();
 
               OleDbDataAdapter da = new OleDbDataAdapter(sql_con.con);
 
               if(da.Fill(dt)>0) {
 
                   GV2.DataSource dt;
 
                   GV2.Columns[0].Visible false;
 
                   GV2.Columns[1].HeaderText "اسم الزبون";
 
                   GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
               }
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

أقواس رقم TOP تستخدم معقاعدة بيانات إسكيوإل وليس أكسس
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , wared , wared , ابراهيم ايبو
#5
(20-06-19, 07:15 AM)sary كتب :
(20-06-19, 04:48 AM)Rabeea Qbaha كتب :
أواجة مشكلة غريبة ممكن من الضغط هناك شيء خاطئ ولم اشاهد

احوال جلب ١٠ اسطر من قاعدة البيانات فقط
لكن عند استخام الكود تجلب جميع الاسطر ولا اعرف ما السبب

هذا الكود المستعمل :

PHP كود :
// method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{

 
               if (_con.con.State == ConnectionState.Closed)
 
               {
 
                   _con.con.Open();
 
               }

 
               query2 "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               ds2.Clear();
 
               dt2.Rows.Clear();

 
               DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
               DataAdapter2.Fill(ds2"cust");
 
               DataAdapter2.Fill(dt2);

 
               _con.con.Close();

 
               GV2.DataSource ds2.Tables[0];
 
               GV2.Refresh();

 
               GV2.Columns[0].Visible false;
 
               GV2.Columns[1].HeaderText "اسم الزبون";
 
               GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

تعديل
PHP كود :
       // method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{
 
               string sql "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               DataTable dt = new DataTable();
 
               OleDbDataAdapter da = new OleDbDataAdapter(sql_con.con);
 
               if(da.Fill(dt)>0) {
 
                   GV2.DataSource dt;
 
                   GV2.Columns[0].Visible false;
 
                   GV2.Columns[1].HeaderText "اسم الزبون";
 
                   GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
               }
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

أقواس رقم TOP تستخدم معقاعدة بيانات إسكيوإل وليس أكسس

عند ازاله الاقواس يقوم بجلب جميع البيانات

الرد }}}
تم الشكر بواسطة: wared , ابراهيم ايبو
#6
(20-06-19, 04:48 AM)Rabeea Qbaha كتب :
أواجة مشكلة غريبة ممكن من الضغط هناك شيء خاطئ ولم اشاهد

احوال جلب ١٠ اسطر من قاعدة البيانات فقط
لكن عند استخام الكود تجلب جميع الاسطر ولا اعرف ما السبب

هذا الكود المستعمل :

PHP كود :
// method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{

 
               if (_con.con.State == ConnectionState.Closed)
 
               {
 
                   _con.con.Open();
 
               }

 
               query2 "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               ds2.Clear();
 
               dt2.Rows.Clear();

 
               DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
               DataAdapter2.Fill(ds2"cust");
 
               DataAdapter2.Fill(dt2);

 
               _con.con.Close();

 
               GV2.DataSource ds2.Tables[0];
 
               GV2.Refresh();

 
               GV2.Columns[0].Visible false;
 
               GV2.Columns[1].HeaderText "اسم الزبون";
 
               GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

(20-06-19, 07:34 PM)Rabeea Qbaha كتب :
(20-06-19, 07:15 AM)sary كتب :
(20-06-19, 04:48 AM)Rabeea Qbaha كتب :
أواجة مشكلة غريبة ممكن من الضغط هناك شيء خاطئ ولم اشاهد

احوال جلب ١٠ اسطر من قاعدة البيانات فقط
لكن عند استخام الكود تجلب جميع الاسطر ولا اعرف ما السبب

هذا الكود المستعمل :

PHP كود :
// method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{

 
               if (_con.con.State == ConnectionState.Closed)
 
               {
 
                   _con.con.Open();
 
               }

 
               query2 "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               ds2.Clear();
 
               dt2.Rows.Clear();

 
               DataAdapter2 = new OleDbDataAdapter(query2_con.con);
 
               DataAdapter2.Fill(ds2"cust");
 
               DataAdapter2.Fill(dt2);

 
               _con.con.Close();

 
               GV2.DataSource ds2.Tables[0];
 
               GV2.Refresh();

 
               GV2.Columns[0].Visible false;
 
               GV2.Columns[1].HeaderText "اسم الزبون";
 
               GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

تعديل
PHP كود :
       // method to fill GV from database
 
       private void fill_GV()
 
       {
 
           try
            
{
 
               string sql "Select TOP 10 [ID], [cname] from [cust] ORDER BY cdate DESC";
 
               DataTable dt = new DataTable();
 
               OleDbDataAdapter da = new OleDbDataAdapter(sql_con.con);
 
               if(da.Fill(dt)>0) {
 
                   GV2.DataSource dt;
 
                   GV2.Columns[0].Visible false;
 
                   GV2.Columns[1].HeaderText "اسم الزبون";
 
                   GV2.Columns[1].AutoSizeMode DataGridViewAutoSizeColumnMode.Fill;
 
               }
 
           }
 
           catch (System.Exception ex)
 
           {
 
               MessageBox.Show(ex.ToString());
 
           }
 
       

أقواس رقم TOP تستخدم معقاعدة بيانات إسكيوإل وليس أكسس

عند ازاله الاقواس يقوم بجلب جميع البيانات

(لست مبرمج #C)

تأكد من أنه لا يوجد استعلام آخر يتم تنفيذه.
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5 , Rabeea Qbaha
#7
السلام عليكم اخي ربيع ورحمة الله وبركاته
اخي الكود التالي اجلب به الحقول لخمس سجلات ولا مشكلة به بدون ان استخدم الاقواس
ربما المشكلة عندك بحقل التاريخ
كود :
//-----------public void SelectAll-----------
       public void SelectAll_Personal()
       {
           try
           {
               DataTable Dt = new DataTable();
               OleDbDataAdapter Da = new OleDbDataAdapter();
               Dt.Clear();
               //Da = new OleDbDataAdapter("Select * From Personal", con);// جلب كل البيانات
               Da = new OleDbDataAdapter("select  TOP 5 * From Personal ORDER BY ID_Ex DESC", con); // استعلام اعلى اي دي لخمس سجلات

               Da.Fill(Dt);
               Dgv_Table.DataSource = Dt;
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
           }
       }

اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: wared , wared , Rabeea Qbaha
#8
اخى الفاضل Rabeea Qbaha
لا يوجد فرق فى الطريقة بين vb.net وكذلك c#
الكود واحد فى امر الاستعلام
ولكن ما يجب الانتباه اليه هو كيفية استدعاء الـ Function
لان من الواضح انك كتبت هذا الـ Function ولكن عند التنفيذ تستدعى Function 
اخر يحتوى على استعلام جلب كامل الجدول

وتذكر اولاً لا تستخدم try داخل الـ Function كما مشار فى الكود الخاص بك
كل ما عليك استخدامه عند مناداه الـ Function اى داخل الحدث نفسه

ثانياً لا تجعل كلاً من DT أو DS خارج الـ Function ومن ثم مناداته وتفريغه
يفضل ان تجعله بداخل الـ Function حتى لا تجبر على استخدام سطر التفريق والمسح

ويكون الشكل مثل 
كود :
                       DataTable DT = new DataTable();

حتى يهيئ لنفسه كونه جديد لا يحتوى على اى شئ وزو قيمة فارغة

بدلاً من استخدامه بهذا الشكل
كود :
                       DataTable DT;

وينطبق الامر مع DS

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: wared , ابراهيم ايبو , Rabeea Qbaha
#9
شكرا جميعا على التفاعل

اخي الجوكر لدي استفسار بسيط :

لماذا لا اقوم باستخدام try في ال function ??

إقتباس :ثانياً لا تجعل كلاً من DT أو DS خارج الـ Function ومن ثم مناداته وتفريغه
يفضل ان تجعله بداخل الـ Function حتى لا تجبر على استخدام سطر التفريق والمسح

انا اقوم بتعريفهم في اول الكود لاني استخدمهم باكثر من function 
و ايضا استخدمهم في الخارج لكي استطيع التحكم بعدد الاسطر في ال gridview 
وتقسيمها الى صفحات.

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

الرد }}}
تم الشكر بواسطة: elgokr
#10
(21-06-19, 10:49 PM)Rabeea Qbaha كتب :
لماذا لا اقوم باستخدام try في ال function ??

وظيفة الـ Try هو تصحيح الخطاء عند التنفيذ
و الـ function ليس تنفيذ بال استدعاء 

والتنفيذ هو الحدث الفعلى مثل حدث الزر عند الكليك
فهنا عليك جعل الـ Try بداخله فقط

تعال اعمل كود به خطاء مثل ادخال قيمة نص لـ رقم
فى اى حدث وبدون استخدام try
وسط الرسالة الخطاء ستجد فى التفاصيل انه 
يشير ان السطر رقم كذا يحتوى على الخطاء

طيب تعال كده نعمل نفس الفكرة بس القيمة ترسل الى الـ function 
وبدون استخدام Try واستدعاء الـ function فى الحدث والاختبار

ستجد انه يشير ان الخطاء فى السطر رقم كذا خاص الحدث
ومن ثم يشير ان الخطاء تابع لمنادا function فى السطر كذا

فتخيل انه اشار بعد ما وضح ان الخطاء فى سطر محدد فى الحدث نفسه
وافادك بعد ذلك فى بان الخاطء ناتج لـ function فى السطر كذا

فهنا عند استخدام Try فى function فوجوده كعدمه لان الـ function
ما هو الا مرحلة ثانية فهنا من يظهر لك الخطاء هو الحدث 
نفسه فلذلك من الافضل الاستخدام خارج function
ويتم الاستخدام فى الحدث فقط

(21-06-19, 10:49 PM)Rabeea Qbaha كتب :
إقتباس :ثانياً لا تجعل كلاً من DT أو DS خارج الـ Function ومن ثم مناداته وتفريغه
يفضل ان تجعله بداخل الـ Function حتى لا تجبر على استخدام سطر التفريق والمسح

انا اقوم بتعريفهم في اول الكود لاني استخدمهم باكثر من function 
و ايضا استخدمهم في الخارج لكي استطيع التحكم بعدد الاسطر في ال gridview 
وتقسيمها الى صفحات.

هذا خطاء فادح جداً

انت عامل الـ function لتعبئة DT
ومن ثم تاتى داخل الحدث تقوم بتعبئة الـ DT بـ DT خاص الـ function
تخيل انك عامل DT وبتقوم تعبئتها نفسها اللى موجوده فى function
والمشكلة الاكبر لو انت بتقوم بتفريغها فى الحدث قبل تعبئتها من نفسها
ومشاكل من هذه القبائل 

من الصح ان التعريف الـ DT الرئيسي للحدث الفعلى فقط
انما كلاً من function يحتوى على DT معرف به خاص به فقط

لان كما اشرت مسبقاً بان الـ function
هو عبارة عن ملخص يقوم باستخدامه بطريقة واكثر
واشرت لهذا الموضوع فى احد مواضيع الاعضاء

فماذا اقصد انه عبارة عن ملخص وكونه ايضاً طرف ثاني وكونه مساهم
المقصود انك ترسل له قيمة ليقوم بتنفيذ امر واذا ارسلت له قيما ثانية سيقوم بتنفيذ امر اخر
بابسط الامور مسل فكرة الاستعلام الذى تقوم به

فنصيحة دائماً عرف DT بداخل الـ function
لانك وارد تستخدم اكثر من function فى حدث واحد وكل function يستخدم DT
اللى بطبيعتك بتقوم بتفريغها فاذا تم التفريق قبل ارسال القيم خاصتها الى معرف جديد
فهنا دور الـ function كما لم يتم ادراجه فعلياً

اتمنى ان تكون الصورة مبسطة لك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل الكود هذا صحيح خاص بالربط مع قاعدة بيانات SQL server تركي احمد 0 212 15-02-24, 10:04 AM
آخر رد: تركي احمد
  [سؤال] احتاج الى مساعدة فى تعديل مشروع خاص C# وقاعدة البيانات SQL Server كتكوت المصري 1 504 15-08-23, 02:02 AM
آخر رد: WAEL ABED
  [C#.NET] جلب البيانات من اليوزر كنترول Heemo 1 659 02-06-23, 12:57 AM
آخر رد: G20
  انشاء قاعدة بيانات عن طرق الكود amonem 3 1,355 07-10-22, 12:51 PM
آخر رد: asemshahen5
  [سؤال] ازي احفظ قيم فارغة في قاعدة البيانات mazentq 4 1,678 04-10-22, 11:15 AM
آخر رد: رضوان الجماعي
Sad [C#.NET] تطبيق الويندوز لا يستطيع تحديد قاعدة البيانات المثبتة معى التطبيق عند تشغيله على حاسو Kamel Soltani 1 835 03-10-22, 04:09 PM
آخر رد: asemshahen5
  [سؤال] حول تكرار البيانات في نفس التاريخ sher 2 918 21-06-22, 12:07 PM
آخر رد: sher
  [سؤال] تحديث قاعدة بيانات العملاء kasber 3 1,399 17-02-22, 09:48 PM
آخر رد: محمود بكرى
  [سؤال] طريقة ربط مشروع برابط URL وتحديث البيانات منه talal_ameer 1 1,189 11-02-22, 01:38 AM
آخر رد: عدنان الشمري
  كيف اقوم بربط قاعدة بيانات server sql// SQLite محمدعبدالسلام 3 1,575 25-01-22, 10:54 PM
آخر رد: ابراهيم ايبو

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم