c#从数据库读取整数字段,读取整数类型字段时返回空字符串

时间:2010-05-16 13:29:28

标签: c# sql database field

这段代码有什么问题?

field="id";
table="MInvMonth";
condition="machine_id=37";
 public static String getConditionedField(String field, String table, String condition)
    try
    {
        if (cmd == null) getConnection();
        cmd.CommandText = "Select " + field + " from " + table + " where " + condition;
        SQLiteDataReader reader = cmd.ExecuteReader();
        if (reader.HasRows==true)
        {
            reader.Read();
            string s = reader[0].ToString(); // return first element
            reader.Close();
            return s;
        }
        reader.Close();
        return null;
    }
    catch (Exception e)
    {
        MessageBox.Show("Caught exception: " + e.Message+"|"+cmd.CommandText);
        return null;
    }

我检查了sql语句,它变成了正确的值。为什么我不能读它? returnvalue是“”。

3 个答案:

答案 0 :(得分:1)

您确定零索引包含您需要的值吗?也许这是另一个专栏。

答案 1 :(得分:0)

有时第一个元素是1而不是0,你尝试替换它吗?

答案 2 :(得分:0)

我第一次错误地输入了sql staement。现在它很好,它必须只返回id字段。 问题是,这是一个函数和其他类型的查询,当返回的字段类型是字符串时,它工作正常。

我尝试调试,而读者[0] .value为空。