我使用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'类型的第一次机会异常
我无法弄清楚我在做什么错误,因此它会产生异常。
答案 0 :(得分:1)
这应该适合你:
if (reader != null && reader.HasRows)
{
while (reader.Read())
{
...
}
}