0

我正在尝试通过 C# 中的 Windows 窗体按钮更新我的数据库。当我运行我将要显示的代码时,它没有显示任何错误,但它不会更改数据库或数据网格中的数据。

private void update_Click(object sender, EventArgs e)
{
    SqlConnection NewCon = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ASPNET\cd\cdcwk2\cddatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
    SqlCommand cmd = new SqlCommand("UPDATE cdstock set cd_title='" + cdtext.Text + "', artist='" + artisttext.Text + "',genre='" + genretext.Text + "', rating=" + ratingtext.Text + ", cd_discription='" + distext.Text + "' where cd_id =" + idtext.Text + ";", NewCon);
    MessageBox.Show("UPDATE cdstock  set cd_title='" + cdtext.Text + "', artist='" + artisttext.Text + "',genre='" + genretext.Text + "', rating='" + ratingtext.Text + "', cd_discription='" + distext.Text + "' where cd_id ='" + idtext.Text + "'");

    NewCon.Open();

    cmd.ExecuteNonQuery();

    NewCon.Close();
    MessageBox.Show("Record Has Now Been UPDATED!!");

}
4

1 回答 1

0

嗨,我找到了解决方案,现在工作正常,谢谢您的时间。解决方案如下。

             String NewCon = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ASPNET\cd\cdcwk2\cddatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

         SqlConnection con = new SqlConnection(NewCon);
         SqlCommand cmd = new SqlCommand();

         cmd.CommandText = "UPDATE cdstock set cd_title='" + cdtext.Text + "', artist='" + artisttext.Text + "',genre='" + genretext.Text + "', cd_discription='" + distext.Text + "', rating=" + ratingtext.Text + " where cd_id = " + dataGridView1.CurrentRow.Cells[0].Value;
         cmd.Connection = con;
         cmd.Connection.Open();

         cmd.ExecuteNonQuery();
         cmd.Connection.Close();

cddatabaseDataSet3.GetChanges(); this.cdstockTableAdapter.Fill(this.cddatabaseDataSet3.cdstock);

        MessageBox.Show("Record Has Now Been UPDATED!!");
于 2013-03-08T09:27:40.370 回答