0

ユーザーがテキストを編集できる Web ページを作成しようとしています。編集が完了したら、保存をクリックすると、入力した新しいテキストがデータベースに保存されます。

コードでエラーが発生していませんが、何らかの理由で、古いテキストが新しいテキストではなくデータベースに書き直されています。

ここに私のコードビハインドがあります:

protected void saveBtn_Click(object sender, EventArgs e)
{
    string newName;
    string newIntro;
    string newEduc;
    string newWork;

    h1New.Text = h1.Text;

    newName = h1New.Text;
    newIntro = intro.Text;
    newEduc = educ.Text;
    newWork = employ.Text;

    string connectionInfo = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;

    using (SqlConnection connection = new SqlConnection(connectionInfo))
    {

        connection.Open();
        SqlCommand myCommand = new SqlCommand("UPDATE simpleContent SET userName = @newName, infoContent = @newIntro, educContent = @newEduc, workContent = @newWork WHERE userID = @userName", connection);

        try
        {

            string username = HttpContext.Current.User.Identity.Name;
            myCommand.Parameters.AddWithValue("@userName", username.ToString());
            myCommand.Parameters.AddWithValue("@newName", newName.ToString());
            myCommand.Parameters.AddWithValue("@newIntro", newIntro.ToString());
            myCommand.Parameters.AddWithValue("@newEduc", newEduc.ToString());
            myCommand.Parameters.AddWithValue("@newWork", newWork.ToString());
            myCommand.ExecuteNonQuery();
            connection.Close();
        }
        catch
        {
            Response.Redirect("http://www.google.co.uk");
        }


    }
}

参考になれば幸いです。

4

1 に答える 1

0

コードを次の形式で配置してみてください。

protected void saveBtn_Click(object sender, EventArgs e)
{    
// add variables
     string connectionInfo = (...)
     string commandText = (...)

    using (...){
        SqlCommand myCommand = (...)
        // add parameters

    try
    {
        connection.Open();
        myCommand.ExecuteNonQuery();
        connection.Close();
    }

    catch (Exception ex)
            {
                (...)
            }
}
于 2012-04-12T15:54:25.403 に答える