如何不将新数据添加到与数据库中的数据具有相似id的数据库中
本文关键字:数据 数据库 id 相似 添加 新数据 何不 | 更新日期: 2023-09-27 18:28:35
所以我在Windows窗体中创建了一个Project,我要做的是从Excel中获取数据并将其显示在Datagridview中。我在Sql Server上上传数据,然后在DVG中发送。每次在服务器上上传数据时,我都必须将新数据添加到旧数据中,但我在数据库中没有类似id的数据。我有在Sql Server中添加新数据的代码,但我不知道如何不添加新数据,这些数据与Sql中的数据具有类似id。有人知道怎么做吗?这是我的代码:
SqlBulkCopy oSqlBulk = null;
string excelFilePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
excelFilePath = Path.Combine(excelFilePath, label1.Text);
OleDbConnection excelConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties=Excel 12.0;");
try
{
excelConn.Open();
OleDbCommand excelComm = new OleDbCommand("SELECT *FROM [Sheet1$]", excelConn);
OleDbDataReader excelreader = excelComm.ExecuteReader();
using(SqlConnection con = new SqlConnection("Data Source=DESKTOP-OETHK6U''SQLEXPRESS;Initial Catalog=Intel_DB;Integrated Security=True"))
{
con.Open();
oSqlBulk = new SqlBulkCopy(con);
oSqlBulk.DestinationTableName = "Intel_Data";
oSqlBulk.WriteToServer(excelreader);
}
label2.Text = "Data has been added into database";
}
catch(Exception ex)
{
label2.Text = "Data has not been added into database";
MessageBox.Show(ex.Message);
}
finally
{
oSqlBulk.Close();
oSqlBulk = null;
excelConn.Close();
excelConn = null;
}
试试这个
if (not exists(select * from table where ID= @id))
insert into table(fields) values (values)
或者你可以在ID
中设置唯一的约束,这样如果用户添加相同的id,它会在你处理它的地方抛出错误。