Sql команда выбрасывает исключение нулевой ссылки в asp dot net с помощью c # - PullRequest
0 голосов
/ 09 июля 2011

Моя команда sql выдает исключительную нулевую ссылку в asp dot net, используя c #

Это мой код:

SqlConnection cn = new SqlConnection("server=.;database=online_blog;integrated security=true");
cn.Open();

SqlCommand cmd3 = new SqlCommand("UPDATE profiles SET fname = '" + TextBox5.Text + "', lname = '" + TextBox6.Text + "', logname = '" + TextBox7.Text + "', dob = '" + TextBox10.Text + "', highsc = '" + TextBox8.Text + "', coll = '" + TextBox9.Text + "', country = '" + TextBox11.Text + "', state = '" + TextBox12.Text + "', hometown = '" + TextBox13.Text + "', languages = '" + TextBox14.Text + "', aboutme = '" + TextBox15.Text + "', gender = '" + RadioButtonList1.SelectedValue + "', photo = '" + Session["photo"].ToString() + "' where logname = 'saraf' ", cn);


    try
    {
        cmd3.ExecuteNonQuery();
        Response.Write("       New Account Updated");
        Session["username"] = TextBox7.Text;
    }
    catch
    {
        Response.Write("\nerror occured");
    }
    cn.Close();

Сеанс ["photo"] инициализирован .... такне беспокойтесь об этом

Строка, в которой я создаю новую SqlCommand, является Throwing Exception

1 Ответ

4 голосов
/ 09 июля 2011

из вашего описания строки, которая выдает, один из элементов пользовательского интерфейса не инициализирован.Который из?Только вы можете узнать - установите точку останова и отладьте ее.Наведите указатель мыши на все компоненты, пока не найдете null.

Но это действительно очень плохой код:

  • пользовательский интерфейс для микширования, доступ к данным, сеанс и ответ одновременно (разделение задач)
  • объединение ввода пользователя представляет собой серьезную угрозу безопасности (внедрение SQL)
  • no using операторы для соединения / команды(риск насыщения пула)
  • грубая обработка ошибок (которая может помешать любому пользовательскому интерфейсу)
  • имена ... Как насчет username.Text - видите ли вы, как это понятнее?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...