C#如果批量检查数据库表里的数据是否存在如果不存在就新增
时间: 2023-08-09 15:06:19 浏览: 102
您好!针对您的问题,您可以使用以下步骤来实现:
1. 连接数据库,并查询需要检查的数据。
2. 遍历查询结果,对于每一个数据,检查其是否存在于目标表中。
3. 如果不存在,执行插入操作将该数据插入目标表中。
以下是示例代码:
```
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
// 连接数据库
string connectionString = "Data Source=(local);Initial Catalog=YourDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 查询需要检查的数据
string query = "SELECT * FROM YourTable";
SqlCommand command = new SqlCommand(query, connection);
SqlDataReader reader = command.ExecuteReader();
// 遍历查询结果
while (reader.Read())
{
// 检查数据是否存在于目标表中
string data = reader.GetString(0); // 假设需要检查的数据为第一列
if (!DataExistsInTargetTable(data, connection))
{
// 数据不存在,执行插入操作
InsertDataIntoTargetTable(data, connection);
}
}
reader.Close();
}
}
static bool DataExistsInTargetTable(string data, SqlConnection connection)
{
// 查询目标表,检查数据是否存在
string query = $"SELECT COUNT(*) FROM TargetTable WHERE Data = '{data}'";
SqlCommand command = new SqlCommand(query, connection);
int count = (int)command.ExecuteScalar();
return count > 0;
}
static void InsertDataIntoTargetTable(string data, SqlConnection connection)
{
// 插入数据到目标表中
string query = $"INSERT INTO TargetTable (Data) VALUES ('{data}')";
SqlCommand command = new SqlCommand(query, connection);
command.ExecuteNonQuery();
}
}
```
请注意,这只是一个示例代码,您需要根据实际情况进行调整。例如,您需要修改查询语句、目标表名、数据列名等。另外,您需要处理一些边界情况,例如数据中包含单引号等。
阅读全文