C# 如何从数据库中检索整数值以在IF语句中使用

C# 如何从数据库中检索整数值以在IF语句中使用,c#,sql,sqlite,C#,Sql,Sqlite,我试图在数据库中检测这些电影的价格类别(类别1、2或3),但我不知道如何读取这些值 using (SQLiteCommand getPrice = new SQLiteCommand("select Category FROM Movies WHERE MovieID LIKE @id", conn)) { getPrice.Parameters.AddWithValue("@id", movieid); using (var CategoryReader = getPrice.

我试图在数据库中检测这些电影的价格类别(类别1、2或3),但我不知道如何读取这些值

using (SQLiteCommand getPrice = new SQLiteCommand("select Category FROM Movies WHERE MovieID LIKE @id", conn))
{
    getPrice.Parameters.AddWithValue("@id", movieid);
    using (var CategoryReader = getPrice.ExecuteReader())
    {
        int category = CategoryReader.GetInt32(1);
        if (category==1)
        {
            MessageBox.Show("That is price category 1");
        }
    }
}

GetInt32的文档非常清楚地说明了参数是一个基于零的序号。因此,当您只选择了一列数据时,您需要第二列数据。

如果您逐行运行此代码,您可以看到每个变量的值。这应该会对您有所帮助。如果只有一个值,请使用
ExecuteScalar
而不是
exexecutereader
。如果您使用的是dataReader,则需要先调用它的
Read
方法,然后才能访问值。如果您有时间,还需要阅读有关
Reader的内容。HasRows
此外,您可能需要使用正在查找值的列的名称与
CategoryReader.GetInt32(1)
如果表结构更改,类别列索引更改,该怎么办。。?需要考虑的是..在任何情况下,只有一列的GetInt32(1)都将失败。这是正确的,更不用说OP的问题和方法的其他错误了。。