gpt4 book ai didi

c# - 您如何正确检查 SQLiteDataReader 的空值?

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:14 25 4
gpt4 key购买 nike

我正在尝试从 SQLite 数据库中的表中读取一些行。我尝试/捕获我的阅读器代码:

try {
using (SQLiteConnection dbCon = new SQLiteConnection("Data Source=" + dbPath)) {
dbCon.Open();
using (SQLiteCommand command = new SQLiteCommand(sqlcmd, dbCon)) {
using (SQLiteDataReader rdr = command.ExecuteReader()) {
while (rdr.Read()) {
}
catch(exception ex) { throw ex; }

类似的东西。

我的问题是我检查读者值的任何方式,比如:

if (rdr[3].ToString() != "" && rdr[3] != null) {}

它总是会通过 if 然后仍然抛出“给定键不存在于字典中”的异常。

我只是想可靠地检查这些值,这样我就可以跳过一个,而不必每次都捕获机会。

给出前面检查 null 的示例:

if (rdr[3].ToString() != "" || rdr[3] != null) {
int something = Convert.ToInt32(rdr[3]);
}

每次该字段中没有值时都会出错,因为它也总是会通过 if 中的 2 个检查。

最佳答案

我也曾尝试检查空类型。实际上,您必须检查 DBNull 的特殊类型:

if (rdr[3].GetType() != typeof(DBNull)) { }

关于c# - 您如何正确检查 SQLiteDataReader 的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31950460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com