0

假设我有一张表,我想解析它的数据。例如,表 abc 有一个名为 的列Seq。我想通过列解析Seq,看看是否有任何违规行为。示例:如果有一个数字 > 10,我想让用户知道。

我收到 2 个错误,一个与数据类型有关,另一个与我的列表有关。我打算用列表做的是用它通过消息框向用户显示不规则,

我根本不知道多少语法所以这就是我的想法:

string sql4 = "select * from abc";
SQLiteCommand command = new SQLiteCommand(sql4, sqlite_conn);

SQLiteDataReader reader = command.ExecuteReader();
Convert.ToInt32(reader);
while (reader.Read())
{
    if (reader["Seq"] > 30) // Getting error: operator cannot be applied to
    // type objects and int
    {
        Parse1.Add(reader["Seq"]);
        // Another error saying that the best overloaded method for the string type int
        // Has some invalid arguments
    }
}

private void button7_Click(object sender, EventArgs e)
{
    foreach (object o in Parse1)
    {
        MessageBox.Show(o.ToString());
    }
}
4

1 回答 1

1

这是类型object

reader["Seq"]

但是您试图将其用作整数。为此,您应该首先将其解析为整数。也许是这样的:

int seq;
if (int.TryParse(reader["Seq"].ToString(), out seq))
    if (seq > 30)
        Parse1.Add(seq);

C# 是一种静态类型语言,因此编译器的数据类型需要保持一致。in的"Seq"reader可能直观地是一个数字,但计算机没有直觉。您需要将其实际转换为整数才能将其用作整数。

于 2013-11-12T20:00:47.803 回答