0

私はこのようなSQLコマンドを持っています

SqlCommand cmd = new SqlCommand(
"IF NOT EXISTS(SELECT english from dic where english='"+e_word+"') " +
"Insert INTO dic VALUES('"+e_word+"',N'"+b_word+"') " +
"else " +
"UPDATE dic SET english='"+e_word+"',bangla=N'"+b_word+"' WHERE  english='"+e_word+"'",con);   


      cmd.ExecuteNonQuery();

しかし、次のようなエラーが発生します

Incorrect syntax near 's'.
Incorrect syntax near 's'.

どうすればこれを解決できますか?????

4

1 に答える 1

4

FTFY:

SqlCommand cmd = new SqlCommand(@"
IF NOT EXISTS(SELECT english from dic where english=@e_word)
Insert INTO dic (english, bangla) VALUES(@e_word,@b_word)
else UPDATE dic SET bangla=@b_word WHERE english=@e_word",con);   

cmd.Parameters.AddWithValue("e_word", e_word);   
cmd.Parameters.AddWithValue("b_word", b_word);
cmd.ExecuteNonQuery();

(実際には、私は通常、それとは少し異なるアップサートを行っていましたが、全体を書き直したくはありませんでした)

于 2013-01-31T12:52:08.873 に答える