c # чтение целочисленных полей из базы данных, возвращение пустой строки при чтении поля целочисленного типа - PullRequest
0 голосов
/ 16 мая 2010

что не так с этим кодом?

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, он показывает правильное значение. почему я не могу это прочитать? возвращаемое значение равно "".

Ответы [ 3 ]

1 голос
/ 16 мая 2010

Вы уверены, что нулевой индекс содержит нужное вам значение? Может быть, это другой столбец.

0 голосов
/ 16 мая 2010

в первый раз я неправильно набрал sql staement. теперь это хорошо, оно должно возвращать только поле id. Дело в том, что это функция и с другим типом запросов, когда возвращаемый тип поля - строка, он работает нормально.

Я попытался отладить, и читатель [0] .value пуст.

0 голосов
/ 16 мая 2010

Иногда первый элемент - это 1, а не 0, вы пытались заменить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...