检查是否存在特定的行,如果不存在,则添加一个新行
本文关键字:添加 新行 一个 不存在 如果不 存在 是否 如果 检查 | 更新日期: 2023-09-27 18:07:45
我是SQL和c#的初学者。我的问题是:我如何检查表中的一行是否存在?以下是我目前使用的代码:
var conn = new SqlConnection(@"Data Source");
conn.Open();
var cmd = new SqlCommand("INSERT INTO Results (PlayerName) VALUES (@PlayerName) " , conn);
cmd.Parameters.Add("@PlayerName",_playerName);
cmd.ExecuteNonQuery();
conn.Close();
我想检查球员的名字是否存在,如果不存在,然后将其添加到表中。
可以先用Select
语句检查,如果不存在,再用insert
语句检查。
还可以使用using
语句来自动处理连接和命令,而不是手动调用Close
方法。
using(var conn = new SqlConnection(yourConnectionString))
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = "Select Count(*) From Results Where PlayerName = @playerName";
cmd.Parameters.Add("@playerName", _playerName);
con.Open();
int count = (int)cmd.ExecuteScalar();
if(count == 0)
{
// It means it does not exist.
cmd.CommandText = "INSERT INTO Results(PlayerName) VALUES (@playerName)";
cmd.ExecuteNonQuery();
}
}
if not exists(select null from Results where PlayerName=@PlayerName) begin INSERT INTO Results (PlayerName) VALUES (@PlayerName) end