2013-07-14 4 views
3

Я хотел бы вставить данные в мою базу данных, если одно значение не существует в моей базе данных.Вставить, если не существует в C#

У меня этот код:

try 
{ 
    SQLConnection.Open(); 

    string sql = "INSERT INTO shop (title, price, information) values (@chp1, @chp2,@chp3)"; 

    SqlCommand cmd = new SqlCommand(sql, SQLConnection); 
    cmd.Parameters.AddWithValue("@chp1", title); 
    cmd.Parameters.AddWithValue("@chp2", price); 
    cmd.Parameters.AddWithValue("@chp3", information); 

    cmd.ExecuteNonQuery(); 
} 

Я пытаюсь вставить в моей базе данных, если значение «заголовок» не существует в моей базе данных.

В StackOverflow я основал этот ответ с IF EXISTS, но я не вижу, как использовать его ...

Заранее спасибо за Ваш ответ :)

+0

Какие СУБД вы используете, это SQL Server 2005 или более поздняя версия? – dasblinkenlight

+0

Я использую SQL Server 2008. –

+0

Perfect - merge должно работать тогда. – dasblinkenlight

ответ

7
string sql = 
    "IF NOT EXISTS (SELECT 1 FROM shop WHERE title = @chp1) 
    BEGIN 
     INSERT INTO shop (title, price, information) values (@chp1, @chp2,@chp3) 
    END"; 

Попробуйте выше

+2

это хорошо работает. Большое спасибо :) –

Смежные вопросы