如何在 windows visual studio 上使用 SQL 更新 table

How to update table using SQL on windows visual studio

我正在尝试更新我的数据库中的一个条目 table 但我的语法出现错误,有人知道是什么原因吗?它不是基于连接的,我认为它纯粹是语法,但我可能是错的。

try
{
    cmd = connection.CreateCommand();
    cmd.CommandText = "UPDATE army SET(troop1 = @troop1, troop2 = @troop2, troop3 = @troop3, hero = @hero) WHERE username = ryan";
    cmd.Parameters.AddWithValue("@troop1", troop1);
    cmd.Parameters.AddWithValue("@troop2", troop2);
    cmd.Parameters.AddWithValue("@troop3", troop3);
    cmd.Parameters.AddWithValue("@hero", hero.Text);

    cmd.ExecuteNonQuery();
}

任何帮助都会很棒!

我认为你的

username = ryan

应该是

username = 'ryan'

看起来它是一个字符类型的列,你需要用单引号引起来。而且您 不需要 SET 部分后使用方括号。 UPDATE (TSQL) 语法上没有这样的东西。

顺便说一句,不要再使用AddWithValue了。它可能 产生意想不到的结果。使用 .Add() method or it's overloads. Read: Can we stop using AddWithValue() already?

还可以使用 using statement 来处理您的数据库连接和对象。

正确的语法是

UPDATE army SET troop1 = @troop1, troop2 = @troop2, troop3 = @troop3, hero = @hero WHERE username = 'ryan'
  • SET 列表周围没有括号
  • 静态值周围的单引号 'ryan'

你可以试试这个:

string query=string.format("UPDATE army SET troop1 = '{0}', troop2 = '{1}', troop3 ='{2}', hero = '{3}' WHERE username = 'ryan'",value0,value1,value2,value3);