Кнопка Postback и SQL SqlDataReader проблема! - PullRequest
0 голосов
/ 08 августа 2010

Я начинающий с sql,

У меня есть комментарии Шаблон с кнопкой в ​​конце, чтобы добавить новый комментарий в базу данных, поэтому я использую SQL INSERT-код для добавления, и он работает нормально.но после обратной отправки кнопки новый комментарий не отображается в моем ярлыке, пока я не обновлю страницу вручную!.

это мой код в части кода c #:

    protected void Page_Load(object sender, EventArgs e)
    {

        ViewComments();

    }

    private void ViewComments()
    {
        hookUp =
            new SqlConnection("Server=xxxx\\SQLEXPRESS;Database=WebExcerciseDB;" + "Integrated Security=True");
        SqlCmd = new SqlCommand("SELECT PersonName,PersonMail,Comment FROM CommentsTable", hookUp);
        try
        {
            hookUp.Open();

            reader = SqlCmd.ExecuteReader();
            while (reader.Read())
            {
                SQL_Result.Text += reader["PersonName"] + "  " + reader["PersonMail"] + "  " + reader["Comment"] +
                                   "<br/>";
            }

        }
        catch (Exception)
        {
            MessageBox.Show("Error in database code\n");


        }
        finally
        {
            reader.Close();
            hookUp.Close();
        }
    }

    protected void AddCommentBtn_Click(object sender, EventArgs e)
    {
        // SQL First INSRET Way //
        //string InsertSQLString = "INSERT INTO CommentsTable(PersonName,PersonMail,Comment,PostDate) VALUES ('" +
        //                         PersonName.Text + "','"+ PersonMail.Text + "','" + PersonComment.Value + "','" +
        //                         DateTime.Now + "')";
        //hookUp =
        //               new SqlConnection("Server=xxxx-PC\\SQLEXPRESS;Database=WebExcerciseDB;" + "Integrated Security=True");
        //SqlCmd = new SqlCommand(InsertSQLString, hookUp);
        //hookUp.Open();
        //SqlCmd.ExecuteNonQuery();
        //hookUp.Close();

        // SQL First INSRET Way End //


        // SQL second INSRET Way  //

        string InsertSQLString = "INSERT INTO CommentsTable(PersonName,PersonMail,Comment,PostDate)VALUES(@Name,@Mail,@Comment,@Date)";

        hookUp =
                 new SqlConnection("Server=xxxx-PC\\SQLEXPRESS;Database=WebExcerciseDB;" + "Integrated Security=True");

        SqlCmd = new SqlCommand(InsertSQLString, hookUp);
        SqlCmd.Parameters.Add("@Name", PersonName.Text);
        SqlCmd.Parameters.Add("@Mail", PersonMail.Text);
        SqlCmd.Parameters.Add("@Comment", PersonComment.Value);
        SqlCmd.Parameters.Add("@Date", DateTime.Now);

        hookUp.Open();
        SqlCmd.ExecuteNonQuery();
        hookUp.Close();

        // SQL second INSRET Way End  //








    }
}

}

спасибо, что угодно ..

1 Ответ

0 голосов
/ 08 августа 2010

читатель не проблема.Проблема в том, в каком порядке вызываются ваши методы.

это должно помочь: http://msdn.microsoft.com/en-us/library/ms178472.aspx#lifecycle_events

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...