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

خطأ dataReder كقيمة عائدة

بدأه She في 16 مارس 2013 · 7 رد · 761 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الكرام 

السلام عليكم 

هل من الممكن تكون القيمة العائدة return value لدالة من النوع dataReder

 

علما بان هذه الدالة في class مستقل ويتم استدعاء الدالة في behind code

 

حيث اني عملتها ويظهر لي الخطا ان dataReder closed

 

وشكرا لكم

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#2

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

  1. الدوال ممكن تعيد أي كائن من أي نوع ... بما فيها SqlDataReader .
  2. يبدوا أنكم تقومون بإغلاق الـــ Reader  أو إغلاق الــ Connection  قبل  قراءة البيانات منه .
  3. إذا لم تحل المشكلة فيرجى إرفاق الكود .
1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

شكرا لسرعة تجاوبك 

صحيح أنا أستخدم في الكلاس  using لفتح الكنكشن 

وهل يصح أن أجعل الاتصال دون اغلاق

 

وكيف أقوم باغلاقه ومتى يكون اي في اي جزء من الكود ؟ في الكلاس أو أين 

 

ولك جزيل الشكر

تم تعديل هذه المشاركة بواسطة She في 17 مارس 2013 في 02:08

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#4

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

  1. يتم إغلاق الــ Connection  بعد أخذ البيانات .. مثلا ..
     public SqlDataReader GetByName(string Val)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select TheName From [City Where (TheName Like '%" + Val + "%')";
            cmd.Connection = conA;
            conA.Open();
            SqlDataReader rd = cmd.ExecuteReader();
            return rd;
        }

     ثم

    	GridView1.DataSource = GetByName("Cit");
    	GridView1.DataBind();
    	conA.Close();

     أو يمكن  جعل الدالة تعيد DataTable  مثلا :

     public DataTable GetByName(string Val)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select TheName From [City Where (TheName Like '%" + Val + "%')";
            cmd.Connection = conA;
            conA.Open();
            SqlDataReader rd = cmd.ExecuteReader();
    		 DataTable dataTable = new DataTable();
            dataTable.Load(rd);
    		rd.Close();
    		conA.Close();
            return dataTable;
            
        }

     أو يمكن استخدام DataAddapter  لملئ الجدول .

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

شكرا جزيلا

عملت بما قلت ولكن ظهر لي خطأ

not all code paths return a value

 

علما اني لا أعمل الأتصال في الصفحة انما في الكلاس فسوف يكون الاغلاق في الكلاس

وفي الصفحة يأخذ القيمة العائدة ويضعها في لgridview

 

كل الشكر

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#6

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

الخطأ (not all code paths return a value) يعني أنه ليس كل مسارات الكود توصل إلى العبارة return  بسبب وضعها ضمن if  مثلا أو ضمن while  ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

سلامات

هل تكون طريقة جلب البيانات خطأ!

executenonouery

executereader

executescalar

#8

هي ليست في if ولا في

while

 

 OracleConnection conn;

                using (conn = new OracleConnection(connectionString))
                {
                   OracleCommand comd = new OracleCommand(sqlQry, conn);
                    
                        conn.Open();
                    
                       OracleDataReader ReturnReder = comd.ExecuteReader();
                       
                             

                            

                            return ReturnReder;
                            // conn.Close();
                        
                    
                }

شكرا جزيلا لكم جميعا

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

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