【问题标题】:How to Insert and Update in one query如何在一个查询中插入和更新
【发布时间】:2016-04-14 00:55:57
【问题描述】:

我想在一个查询中插入和更新数据。 C# winform

INSERT INTO vehicles (userid,model,price) VALUES (15,365,100000)

UPDATE accounts SET vehicles=365,Money=Money-100000 WHERE id=15

可能吗?

【问题讨论】:

  • 不,我不使用 ADO.NET,只使用 MysqlConnection
  • @BieberKieu 你正在使用 ADO.NET,MySqlConnection 是一个 ADO.NET 类来访问 MySql 数据库。
  • 我是否应该将您的问题理解为:我想插入一条新记录,但如果它存在我想更新它?否则是什么原因将 Money 字段设置为 100000 然后将其更新为减去 100000。直接将其设置为零。
  • 为什么要在一个“查询”中完成?两个有什么问题?

标签: c# mysql winforms


【解决方案1】:

是的,只需在同一字符串中添加两个命令,用; 分隔它们,请参见下面的示例:

using (var con = new MySqlConnection("ConnectionString"))
{
    var sqlCommand = con.CreateCommand();
    sqlCommand.CommandText = @"INSERT INTO vehicles (userid,model,price) VALUES (15,365,100000);
                               UPDATE accounts SET vehicles=365,Money=Money-100000 WHERE id=15";

    con.Open();
    var affectedLines = sqlCommand.ExecuteNonQuery();
    Console.WriteLine(affectedLines);
}

运行后,affectedLines 的值应该为 2。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2017-09-24
    • 2016-06-14
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多