テーブルのレコードが既に存在するかどうかを確認しようとしています。レコードがSqlite + Cに存在するかどうかを調べる#
どうすればいいですか?
私はすでに次のコードを書いた:そのレコードはあなたが
cmd.CommandText = "SELECT count(*) FROM wordlist WHERE word='word'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if(count == 0)
{
cmd.CommandText = "INSERT INTO wordlist(word) VALUES ('word')";
cmd.ExecuteNonQuery();
}
ExecuteScalarあなたのコードを簡素化することができ存在するかどうかを確認するには
string dbName = "Data Source=searchindex.db";
SQLiteConnection con = new SQLiteConnection(dbName);
con.Open();
SQLiteCommand cmd = new SQLiteCommand(con);
// If this sql request return false
cmd.CommandText = "SELECT rowid FROM wordlist WHERE word='word'";
cmd.ExecuteNonQuery();
// then add record in table
cmd.CommandText = "INSERT INTO wordlist(word) VALUES ('word')";
私はあなたがここで求めているかを把握することはできません! – Mido
insertステートメントに "where not exists ...."条件を追加できます。 – Tim
'このsqlリクエストがfalseを返した場合は、テーブルにレコードを追加します。あなたの目標は重複を防止し、存在しない場合にのみ単語を挿入することです。 – Tim