تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C#.NET] ظهور ايرور في صيغة الفانكشن عند تنفيذ البحث في برنامج لمكتبة مدرسية
#1
السلام عليكم 
ارجو المساعدة لو سمحتو
عندي برنامج لمكتبة مدرسية بلغة السي شارب وقاعدة بيانات سيكوال سيرفر
عند تنفيذ البرنامج واجراء عملية البحث من خلال اختيار طريقة البحث باستخدام كود الطالب من الكومبو بوكس يظهر الخطأ التالي
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;
          }
 الخطأ يكون عند الكود المكتوب باللون الاخضر
والخطأ يوضح ان المشكلة في صيغة الكود
وجزاكم الله خيرا
الرد
تم الشكر بواسطة:
#2
من الأفضل وضع الكود بهذه الطريقة لتسهيل القراءة :
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
;
 
         
الرد
تم الشكر بواسطة:



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


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