开发者

c# reading integer fields from database, returning empty string when reading integer type field

what is wrong with this code?

field="id";
table="MInvMonth";
condition="machine_id=37";
 public static String getConditionedField(String field, String table, String con开发者_如何学Godition)
    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;
    }

I checked the sql statement, it turns the right value. why can't I read it? the returnvalue is "".


Are you sure the zero index contains the value you need? Maybe it is another column.


Sometimes the first element is 1 not 0, did you try replacing that?


the first time I misstyped the sql staement. now it is good, it must return just the id field. The thing is, that this is a function and with other type of queries, when the returned field type is string, it is working fine.

I tried to debug, and the reader[0].value is empty.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜