【发布时间】:2016-02-04 09:59:33
【问题描述】:
我使用 Sqlite 作为后端,使用 Windows 窗体应用程序 (C#) 作为前端。
我正在浏览这段代码:
cmdgetTransaction_ID = new SQLiteCommand("SELECT MAX(transaction_id) as expr1 FROM transaction_master WHERE transaction_id LIKE '"+temp+"%' ", con);
SQLiteDataReader reader = cmdgetTransaction_ID.ExecuteReader();
if (reader["expr1"]!=DBNull.Value)
{
name= reader.GetString(0);
string[] substrings = System.Text.RegularExpressions.Regex.Split(name, "([a-z]+)|([0-9]+)");
MessageBox.Show(substrings[0]);
}
else
{
name=name+temp+"1";
lblTranID.Text = name;
}
我也试过这个:if (reader.IsDBNull(0))
在调试(进入)时,它会报告以下异常:
System.Data.SQLite.dll 中发生了“System.InvalidOperationException”类型的第一次机会异常
我无法弄清楚我在做什么错误,因此它会产生异常。
【问题讨论】:
-
您的标题具有误导性或内容。你想检查 reader 是否有个人列的行或 null 吗?
-
错误出现在哪一行?
-
@dotnetkid - 实际上我有兴趣检查我的数据读取器对象是否为空或是否有任何记录
-
@Steve ---> 在线 ---- if (reader["expr1"]!=DBNull.Value)