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

نسخة كاملة : ظهور ايرور في صيغة الفانكشن عند تنفيذ البحث في برنامج لمكتبة مدرسية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 
ارجو المساعدة لو سمحتو
عندي برنامج لمكتبة مدرسية بلغة السي شارب وقاعدة بيانات سيكوال سيرفر
عند تنفيذ البرنامج واجراء عملية البحث من خلال اختيار طريقة البحث باستخدام كود الطالب من الكومبو بوكس يظهر الخطأ التالي
Input string was not in a correct format.

عند الفانكشن التالية

          private int FindIDST(int IDST)
          {
              int id;
               SqlCommand comm = new SqlCommand("SELECT * FROM Students where ID=@ID", conn);

               SqlParameter p1 = new SqlParameter("@ID", IDST);
            comm.Parameters.Add(p1);
            if (conn.State == ConnectionState.Open) { conn.Close(); }
            conn.Open();
           
            SqlDataReader rd = comm.ExecuteReader();
            if (rd.Read())
            {
                txtStID.Text = rd["ID"].ToString();
                txtStName.Text = rd["StudentName"].ToString();
                txtStPhone.Text = rd["Phone"].ToString();

                    }
                    else
                    {
                        MessageBox.Show("name not found");
                    }
           

          id  =Convert.ToInt32(rd[0]);
        
          return id;
          }
 الخطأ يكون عند الكود المكتوب باللون الاخضر
والخطأ يوضح ان المشكلة في صيغة الكود
وجزاكم الله خيرا
من الأفضل وضع الكود بهذه الطريقة لتسهيل القراءة :
PHP كود :
private int FindIDST(int IDST)
 
         {
 
             int id;
 
              SqlCommand comm = new SqlCommand("SELECT * FROM Students where ID=@ID"conn);

 
              SqlParameter p1 = new SqlParameter("@ID"IDST);
 
           comm.Parameters.Add(p1);
 
           if (conn.State == ConnectionState.Open) { conn.Close(); }
 
           conn.Open();
 
          
            SqlDataReader rd 
comm.ExecuteReader();
 
           if (rd.Read())
 
           {
 
               txtStID.Text rd["ID"].ToString();
 
               txtStName.Text rd["StudentName"].ToString();
 
               txtStPhone.Text rd["Phone"].ToString();

 
                   }
 
                   else
                    
{
 
                       MessageBox.Show("name not found");
 
                   }
 
          

          id  
=Convert.ToInt32(rd[0]);
 
       
          return id
;
 
         

تم تصحيح الكود :
PHP كود :
private int FindIDST(int IDST)
 
         {
 
             int id;
 
              SqlCommand comm = new SqlCommand("SELECT * FROM Students where ID=@ID"conn);

 
              SqlParameter p1 = new SqlParameter("@ID"IDST);
 
           comm.Parameters.Add(p1);
 
           if (conn.State == ConnectionState.Open) { conn.Close(); }
 
           conn.Open();
 
          
            SqlDataReader rd 
comm.ExecuteReader();
 
          while (rd.Read())
 
           {
 
               txtStID.Text rd["ID"].ToString();
 
               txtStName.Text rd["StudentName"].ToString();
 
               txtStPhone.Text rd["Phone"].ToString();

 
                   }
 
                   else
                    
{
 
                       MessageBox.Show("name not found");
 
                   }
 
          

          id  
=Convert.ToInt32(rd[0]);
 
       
          return id
;