2012-06-26 3 views
-2

Я попытался вставить данные, войдя в систему. у моего запроса нет какой-либо ошибки, но это исключение вызвало время выполнения, поскольку «Ссылка на объект не установлена ​​в экземпляр объекта». проверьте мой код и, пожалуйста, исправьте меня.Вставка ошибки запроса данных

protected void Button1_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      if (TextBox6.Text == " ") 
      { 
       string alertmessage = ""; 
       alertmessage = "Username should not be blank"; 
       this.CreateMessageAlert(this, alertmessage, "alertKey"); 
       TextBox6.Focus(); 
      } 
      else if (TextBox7.Text == " ") 
      { 
       string alertmessage = ""; 
       alertmessage = "Username should not be blank"; 
       this.CreateMessageAlert(this, alertmessage, "alertKey"); 
       TextBox7.Focus(); 
      } 
      else 
      { 
       string sq = "SELECT COUNT(*) FROM tbl_KKSUser WHERE [email protected] and [email protected]"; 
       SqlCommand sd = new SqlCommand(sq, con); 
       SqlParameter unameparam; 
       unameparam = new SqlParameter("@un", SqlDbType.VarChar, 25); 
       unameparam.Value = TextBox6.Text; 
       sd.Parameters.Add(unameparam); 

       string original = TextBox7.Text.Trim(); 
       string withhash = original; 
       b1 = Encoding.BigEndianUnicode.GetBytes(withhash); 
       encrypted = Convert.ToBase64String(b1); 
       SqlParameter passparam; 
       passparam = new SqlParameter("@pas", SqlDbType.VarChar, 8000); 
       passparam.Value = Convert.ToString(encrypted); 
       sd.Parameters.Add(passparam); 

       con.Open(); 
       { 
        int iresults; 
        iresults = Convert.ToInt32(sd.ExecuteScalar().ToString()); 
        if (iresults > 0) 
        { 
         string q = "insert into tbl_KKSMaterialRaise(MaterialCode,Source,Category,Population,StockInStores,Specification,PrearedBy,CheckedBy,ApprovedBy,CreatedDate) values(@mc,@sc,@cat,@pop,@sis,@spec,@pb,@cb,@ab,@cd)"; 
         SqlCommand dm = new SqlCommand(q, con); 
         dm.Parameters.AddWithValue("@mc", Mcodeddl.SelectedItem.Text); 
         dm.Parameters.AddWithValue("@sc", TextBox1.Text.Trim()); 
         dm.Parameters.AddWithValue("@cat", TextBox2.Text.Trim()); 
         dm.Parameters.AddWithValue("@pop", TextBox3.Text.Trim()); 
         dm.Parameters.AddWithValue("@sis", TextBox4.Text.Trim()); 
         dm.Parameters.AddWithValue("@spec", TextBox5.Text.Trim()); 
         dm.Parameters.AddWithValue("@pb", PBddl.SelectedItem.Text); 
         dm.Parameters.AddWithValue("@cb", CBddl.SelectedItem.Text);//In this line i have got error 
         dm.Parameters.AddWithValue("@ab", ABddl.SelectedItem.Text); 
         dm.Parameters.AddWithValue("@cd", DateTime.Today); 
         dm.ExecuteNonQuery(); 
         string alertmessage = ""; 
         alertmessage = "Component Details Saved"; 
         this.CreateMessageAlert(this, alertmessage, "alertKey"); 
        } 
        else 
        { 
         Response.Write("<script>alert('Invalid Username/Password')</script>"); 
        } 
       } 
       con.Close(); 

      } 
     } 
     catch (Exception ex) 
     { 
      Response.Write(ex.Message); 
     } 
    } 
+1

Какая линия является исключением? – leppie

+0

Где у вас появляется исключение? – CarlosJ

+0

Вы должны использовать string.IsNullOrWhiteSpace (переменная) – JConstantine

ответ

0

Это означает, что вы не инициализировали или не назначили переменную. Отладчик должен указать вам, какая именно переменная. Познакомьтесь с ним поближе. Тогда вам нужно только проверить, что он уже инициализирован (= новый класс()) или назначен (= экземпляр).

Возможно, вы захотите взглянуть на this question.

+0

Это лучше всего подходит, поскольку комментарий не добавляет значения в качестве ответа – V4Vendetta

+0

@ V4Vendetta, я не согласен, я объясняю, какая это ошибка, поэтому он может найти его сам. Гораздо легче проверить, что говорит отладчик, чем для нас. И тогда он узнает лучше в следующий раз. – Dil

+0

did not get friends – user1455232

2

Это выглядит наиболее вероятно, что один из ваших DropDownLists не имеют опций выбраны, то есть пустая ссылка исходит от одной из линий, как:

dm.Parameters.AddWithValue("@mc", Mcodeddl.SelectedItem.Text); 

Попробуйте проверить, что все те, которые элементы выбраны, прежде чем извлечение .Text.

Если это не так, было бы полезно узнать, какая строка вызывает исключение - вы обычно можете получить это из трассировки стека исключений.

Смежные вопросы