检查Sqlite C中是否存在记录#

检查Sqlite C中是否存在记录#,第1张

概述我正在尝试检查表中的记录是否已存在. 我怎么能这样做? 我已经写了以下代码: string dbName = "Data Source=searchindex.db";SQLiteConnection con = new SQLiteConnection(dbName);con.Open();SQLiteCommand cmd = new SQLiteCommand(con);// If 我正在尝试检查表中的记录是否已存在.

我怎么能这样做?

我已经写了以下代码:

string dbname = "Data Source=searchindex.db";sqliteConnection con = new sqliteConnection(dbname);con.open();sqliteCommand cmd = new sqliteCommand(con);// If this sql request return falsecmd.CommandText = "SELECT rowID FROM wordList WHERE word='word'"; cmd.ExecuteNonquery();// then add record in tablecmd.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();

这甚至更好,因为您使用单个查询而不是两个(尽管本地数据库中的差异应该是最小的)

总结

以上是内存溢出为你收集整理的检查Sqlite C中是否存在记录#全部内容,希望文章能够帮你解决检查Sqlite C中是否存在记录#所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存