2

我使用以下代码将 TextBox 值保存到数据库中。但是,当我插入该值时,它将保存在新行中。如何将其保存到同一行?

private void button1_Click(object sender, EventArgs e)
{
    string pass = textBox1.Text;
    sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=P3;Integrated Security=True");
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = sql;
    cmd.CommandText = ("Insert [MyTable] ([MyColumn]) Values (@pass)");
    cmd.Parameters.AddWithValue("@pass", pass);
    sql.Open();
    cmd.ExecuteNonQuery();
    sql.Close();
}
4

2 回答 2

4

使用更新命令而不是插入。

cmd.CommandText = "update YourTable set FieldName = YourValue where KeyField = YourKeyValue"
于 2012-05-01T20:23:15.050 回答
2

您需要使用 UPDATE 而不是 INSERT,类似于:

UPDATE yourTable
SET yourColumn = newValue
WHERE (your criteria needs to go here) ID = recordId

您需要为您的记录创建 UPDATE 语句。如果您打算全部更新,那么您的声明将是:

UPDATE yourTable
SET yourColumn = newValue

否则,您将需要告诉它要更新哪些记录

UPDATE yourTable
SET yourColumn = newValue
WHERE ID = yourID

private void button1_Click(object sender, EventArgs e)
{
    string pass = textBox1.Text;
    sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=P3;Integrated Security=True");
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = sql;
    cmd.CommandText = "UPDATE MyTable SET MyColumn = @pass WHERE id=@id"
    cmd.Parameters.AddWithValue("@pass", pass);
    cmd.Parameters.AddWithValue("@id", 1);
    sql.Open();
    cmd.ExecuteNonQuery();
    sql.Close();
}

这是一个网站,其中包含一些解释使用 ADO.NET 的示例:

使用 C# 进行简单的 ADO.NET 数据库读取、插入、更新和删除

如何在 ado net 中使用 UPDATE

于 2012-05-01T20:36:59.913 回答