已经创建了一个数据库,并使用唯一约束来避免重复值。当我尝试添加违反该规则的值时,应用程序崩溃。
你会怎么解决呢?我应该先做一个SQL查询,看看值是否已经存在,如果不存在就添加它吗?对数据库有两个问题是不是有点不必要,我可以一个查询吗?
我想要:
1.检查值是否存在
1.如果它存在,给予一个消息,说明它已经存在
1.如果它不存在,添加它,我应该怎么做?
使用Nuget包:System.Data.SQLiteLogin
C#代码
// Connection String
string DbFile = @"URI=file:Data\LearnWords.db";
int status = 0;
// Db Connection
SQLiteConnection DbConnectiom = new SQLiteConnection(DbFile);
DbConnectiom.Open();
// SQL Command
SQLiteCommand Cmd = new SQLiteCommand("INSERT INTO Word (WordClass, WordEng) VALUES('Test','Hello');", DbConnectiom);
status = Cmd.ExecuteNonQuery();
Console.WriteLine($"Status: {status}");
DbConnectiom.Close();
尝试查找一些文档,但找不到
1条答案
按热度按时间0kjbasz61#
你可以使用try/catch,但是你需要确保这个问题是一个唯一的约束冲突,所以你需要extended result code。
然后你可以有一个try/catch来检查
SQLiteErrorCode.Constraint_Unique
,像这样...