Я написал эту программу пару месяцев назад, которая ограничивает эти большие файлы .CSV
и загружает их в базу данных SQL Server. Так как файл .CSV
только в основном, добавленный каждый раз с новыми данными, которые я только что она настроена таким образом, что каждый раз, добавление пользовательских данных он будет удалять все из таблицы и загрузить вновь добавляемые данные следующим образом:Обновление базы данных SQL Server без дубликатов
myConnection.Open();
string sql = @"DELETE FROM TestTable;";
SqlCommand cmd = new SqlCommand(sql, myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
Теперь я должен настроить его для загрузки данных без удаления предыдущих записей в таблицу, но уловка у меня не может быть дубликатов данных. К счастью, файл .CSV
поставляется с уникальным идентификатором для каждой строки, который я использую в качестве первичного ключа, но у меня возникли проблемы с созданием алгоритма для этого. Возможно, что-то похожее на синтаксис DELETE
, который я могу использовать с SQL Server для обновления только уникальных данных? Я прошу вас, ребята, так как я не самый большой эксперт, когда дело доходит до SQL Server.
У меня есть пара разных классов и фонового работника, поэтому я не хочу пропустить весь код с самого начала, но если вам нужны какие-либо подробности, дайте мне знать.
EDIT
Существует пример здесь: http://msdn.microsoft.com/en-us/library/y06xa2h1(v=vs.80).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
, что я уверен, что мне нужно сделать, но единственное, что я запутался о том, что DataSet1 и где она приходит от ? Я просто использую строку подключения, чтобы открыть соединение с базой данных SQL Server, а затем используйте SqlDataAdapter
для выполнения таких функций, как вставки и прочее.
Если у кого есть какие-либо разъяснения по этому вопросу, это будет очень полезно.
Благодаря
если у вас есть уникальный идентификатор можно вставить, если идентификатор не найден в противном случае игнорировать или обновить существующие данные ... – Zaki
что синтаксис для не найден? – Nick
SQL Server (Microsoft) – Nick