SQLITE中rowid的问题
我正在使用 SQLite C# 库,根据我的要求,在添加之前我将检索该表的 rowid。它工作正常,但当表为空时会出现错误。一旦我们添加任何数据(一行),它就可以正常工作。
mDbCon = GetConnection();
SQLiteCommand cmd = mDbCon.CreateCommand();
cmd.CommandText = " SELECT MAX(rowid) FROM " + “MYTABLE”;
cmd.CommandType = CommandType.Text;
mDbCon.Open();
SQLiteDataReader sqReader = cmd.ExecuteReader();
while (sqReader.Read())
{
if ( sqReader.IsDBNull(0) )
{
max = (Int32)sqReader.GetInt32(0);
}
}
mDbCon.Close();
当表“MYTABLE”没有任何数据时,它会抛出异常。
I am using SQLite C# library and as per my requirement, before going to add I am retreving the rowid of that table. It is working fine but hetting error when table is empty. Once we add any data(a row) then it’s working fine .
mDbCon = GetConnection();
SQLiteCommand cmd = mDbCon.CreateCommand();
cmd.CommandText = " SELECT MAX(rowid) FROM " + “MYTABLE”;
cmd.CommandType = CommandType.Text;
mDbCon.Open();
SQLiteDataReader sqReader = cmd.ExecuteReader();
while (sqReader.Read())
{
if ( sqReader.IsDBNull(0) )
{
max = (Int32)sqReader.GetInt32(0);
}
}
mDbCon.Close();
It’s throwing exception when table “MYTABLE” don’t have any data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该对你有用。
This should work for you.
尝试 int maxRowID = Convert.Int32(cmd.ExecuteScalar());
try
int maxRowID = Convert.Int32(cmd.ExecuteScalar());