我正在尝试检查表中的记录是否已存在.
我怎么能这样做?
我已经写了以下代码:
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')";
要检查该记录是否存在,您可以简化代码
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将返回查询返回的第一行的第一列.
(该链接适用于sqlServer,但它与sqlite完全相同,因为sqliteCommand应该实现IDbCommand接口)
另一种使用方法如下
cmd.CommandText = "INSERT INTO wordlist (word) SELECT ('word') WHERE NOT EXISTS (SELECT 1 FROM wordlist WHERE word = 'word');"; cmd.ExecuteNonQuery();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。