Простой SQLite-запрос не работает - PullRequest
0 голосов
/ 13 ноября 2011

Я использую sqlite compact edition, я провел несколько тестов с использованием linqdpad, работал нормально.Но когда я иду на C # код, это не работает.Я пытался получить поля из базы данных со следующим кодом:

using System;
using System.Data.SqlServerCe;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var conStr = @"data source=C:\path\db.sdf;password=...";
            var con = new SqlCeConnection(conStr);
            con.Open();

            var cmd = new SqlCeCommand("select * from quest", con);
            SqlCeDataReader result = cmd.ExecuteReader();
            Console.Write(result.Read());
            Console.ReadLine();
            con.Close();
        }
    }
}

result.Read() возвращает false.как будто не было полей.как я это исправлю?

Используя linqpad, я вижу что-то вроде:

enter image description here

запрос:

select * from quest;

ОБНОВЛЕНИЕ Проблема возникаеткогда база данных (.sdf) использует пароль.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2011

Для меня все в порядке - может быть, это:

var result 

Измените его на SqlCeDataReader. Это единственная «ошибка», которую я вижу.

Также не забудьте закрыть соединение после того, как вы закончите.

0 голосов
/ 13 ноября 2011

проверьте точку с запятой в конце вашего запроса. Возможно, удалив его, ваш запрос будет выполнен правильно.с другой стороны, все правильно в общем.

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