【问题标题】:How to update a column and add values: SQLserver如何更新列和添加值:SQL server
【发布时间】:2018-10-15 14:40:48
【问题描述】:

我正在更新 SQLserver 数据库。我想记录每天的访问次数。但是当更新完成时,访问不会被添加,它们会被替换。 我的代码:

namespace System
{
    class Day
    {
        SqlConnection conect= new SqlConnection(@"Data Source=USER\SQLEXPRESS; Initial Catalog=db_system; Integrated Security=true;");

        public void update_day(string value1, string value2)
        {

            SqlCommand cdm = new SqlCommand("UPDATE Visit SET day=  '" + Value1+ "' '" + Value2+ "' ' WHERE user='" + user1+ "' ", conect);

            SqlDataReader myReader;

            conect.Open();
            myReader = cdm.ExecuteReader();
            conect.Close();
            MessageBox.Show("Saved");

        }

    }
}

我想将 value2 添加到我的数据库的 day 列中。

示例:

........表日............

列:访问 (10) + Value2

结果:

列:访问 (11) + Value2

我需要添加两个值

值1 + 值2 = 2 在 SqlCommand 中

我正在等待您的帮助朋友,谢谢。

【问题讨论】:

  • 有没有漏掉Value1+ "' '" + Value2之间的运算符
  • Here 是一个很好的起点。
  • 我想你不知道如何更新多列?
  • 运算符“+”对我添加值不起作用,就像在其他数据库中一样。
  • 您能否在您的问题中添加 DDL、示例数据和一些预期结果?事实上,它非常令人困惑。

标签: c# sql-server winforms


【解决方案1】:

如果您想添加新行,您应该使用INSERT 语句。 UPDATE 语句用于更新现有数据。

您迫切需要阅读、理解并开始使用参数化查询。构建一个字符串并像这样执行它对于 sql 注入是开放的。不要那样做。我的朋友bobby tables 喜欢这样的代码。

--编辑--

在黑暗中拍摄完整的照片,因为我们几乎没有细节。

Update YourTable
Set IntCol1 = @Int1
    , IntCol2 = @Int2
where SomeKeyColumn = @KeyValue

【讨论】:

  • 朋友您好,非常感谢您的回复。但我不想要插入。价值观已经存在。我想要的是更新现有值。问候
  • 在您的问题中,您说“更新完成后,不会添加访问,而是替换它们”。它是哪一个?您要添加新行还是更新现有行?无论哪种方式,信息都在我的答案中。
  • 您帮我做出正确的查询以将它们发送到数据库。我的代码有问题。值不添加到现有的,我想要一个访问计数器
  • 这完全没有意义。请记住,我们看不到您的屏幕,也不知道您的桌子设计是什么。 Here 是一个很好的起点。
  • 在您的示例中,您有两个字符串,并且您将连接的值粘贴到单个列中。如果您不愿意发布自己和其他人要求的详细信息,这是一件非常容易回答的事情。
【解决方案2】:

我无法确定您的问题中的 value1 和 value2 应该是什么。如果一个是要增加的天数,那么另一个是否需要是用户 ID(因为您已经在表中拥有原始天数)?

如果是这样,您可以像下面这样将新值添加到现有总数中吗?:

public void update_day(string userID, string dayIncrement)
    {

        SqlCommand cdm = new SqlCommand("UPDATE Visit SET day = day + " + dayIncrement + " WHERE user='" + userID + "' ", conect);

等等

【讨论】:

  • 兄弟,你真是个天才!他服务完美。我的价值观被完美地添加和保存。还要在数据库中通过 int 更改 nvarchar 的值并保存。谢谢兄弟。
猜你喜欢
  • 2019-01-03
  • 1970-01-01
  • 2011-11-13
  • 2019-03-25
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2011-09-22
  • 1970-01-01
相关资源
最近更新 更多