SqlCommand select 具有特定值的所有列
SqlCommand select all columns with a certain value
我有一个 SqlDataReader
,它需要从我的数据库中读取某些值。 select 这些值的 SqlCommand
如下所示:
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.Confronting_Value", valueConnection);
数据库中的每个条目由 "Attacker"、"Defender" 和 "Value" 组成。所有 3 个都包含整数值。
例如
Attacker: "665", Defender: "443", Value: "3".
可能有多个条目 "Attacker" 的值为“665”。
现在,SELECT WHERE Attacker = 665
会很简单,但我有一个变量 Black.ID
。我想 select 攻击者具有与 Black.ID 相同值的所有条目。我该怎么做?
不确定我是否理解正确 - 但只需向查询添加 参数 可能会起作用:
SqlCommand myCommand = new SqlCommand(@"SELECT *
FROM dbo.Confronting_Value
WHERE Attacker = @Value", valueConnection);
// add parameter and set its value to "Black.ID"
myCommand.Parameters.Add("@Value", SqlDbType.Int).Value = Black.ID;
然后从这里开始,运行 您已有的代码。这将 select Attacker
与您的 Black.ID
值具有相同值的所有行。
抱歉,Black.ID 是什么?代码中的变量?数据库中另一个table的列?
在第一种情况下,向您的命令添加一个 Where 子句,如下所示:
"SELECT * from dbo.Confronting_Value WHERE Attacker=" + Black.ID
或更好
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.Confronting_Value WHERE Attacker = @param1", valueConnection);
myCommand.Parameters.Add("@param1", SqlDbType.Int);
myCommand.Parameters["@param1"].Value = Black.ID;
希望对您有所帮助。
我有一个 SqlDataReader
,它需要从我的数据库中读取某些值。 select 这些值的 SqlCommand
如下所示:
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.Confronting_Value", valueConnection);
数据库中的每个条目由 "Attacker"、"Defender" 和 "Value" 组成。所有 3 个都包含整数值。
例如
Attacker: "665", Defender: "443", Value: "3".
可能有多个条目 "Attacker" 的值为“665”。
现在,SELECT WHERE Attacker = 665
会很简单,但我有一个变量 Black.ID
。我想 select 攻击者具有与 Black.ID 相同值的所有条目。我该怎么做?
不确定我是否理解正确 - 但只需向查询添加 参数 可能会起作用:
SqlCommand myCommand = new SqlCommand(@"SELECT *
FROM dbo.Confronting_Value
WHERE Attacker = @Value", valueConnection);
// add parameter and set its value to "Black.ID"
myCommand.Parameters.Add("@Value", SqlDbType.Int).Value = Black.ID;
然后从这里开始,运行 您已有的代码。这将 select Attacker
与您的 Black.ID
值具有相同值的所有行。
抱歉,Black.ID 是什么?代码中的变量?数据库中另一个table的列? 在第一种情况下,向您的命令添加一个 Where 子句,如下所示:
"SELECT * from dbo.Confronting_Value WHERE Attacker=" + Black.ID
或更好
SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.Confronting_Value WHERE Attacker = @param1", valueConnection);
myCommand.Parameters.Add("@param1", SqlDbType.Int);
myCommand.Parameters["@param1"].Value = Black.ID;
希望对您有所帮助。