【发布时间】:2017-12-09 21:38:18
【问题描述】:
我正在尝试检测这些电影在数据库中的价格类别(类别 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");
}
}
}
【问题讨论】:
-
如果您逐行运行此代码,您可以看到每个变量的值。这应该对你有帮助。
-
如果只有一个值,请使用
ExecuteScalar而不是ExexcuteReader。如果您使用的是 dataReader,则需要先调用它的Read方法,然后才能访问值。 -
当您有时间时,还请阅读有关
Reader.HasRows的信息,您可能还想使用您正在寻找的列的名称与CategoryReader.GetInt32(1)如果表结构发生变化和类别列索引已更改..?需要考虑的事情.. -
只有一列的 GetInt32(1) 在任何情况下都会失败。