Я пытаюсь прочитать данные из базы данных SQL Server Compact, но получаю ту же ошибку - PullRequest
1 голос
/ 14 февраля 2010

Я запрашиваю базу данных SQL Server Compact с помощью «SELECT * FROM User», и я получаю сообщение об ошибке:

Номер строки токена = 1, Смещение строки токена = 15, Ошибка токена = Пользователь

Как мне это исправить?

Код, который я использую, таков:

public static List<User> GetUsers()
{
    List<User> users = new List<User>();
    using (SqlCeConnection con = new SqlCeConnection(Properties.Settings.Default.DatabaseConnection))
    {
        con.Open();
        using (SqlCeCommand command = new SqlCeCommand("SELECT * FROM " + TABLE, con))
        {
            SqlCeDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                int id = reader.GetInt32(0);
                string user = reader.GetString(1);
                User usr = null;
                using (MemoryStream s = new MemoryStream())
                {
                    NetDataContractSerializer serializer = new NetDataContractSerializer();
                    s.Write(ASCIIEncoding.ASCII.GetBytes(user.ToCharArray()), 0, user.Length);
                    s.Position = 0;
                    usr = (User)serializer.Deserialize(s);
                }
            }
        }
    }
    return users;
}

Примечание: я также получаю эту ошибку при попытке добавить информацию.

1 Ответ

1 голос
/ 14 февраля 2010

Похоже, токен «Пользователь» не понимается.Просто предположение (у меня нет SqlCE для тестирования) попробуйте "заключить" в кавычки имя таблицы в квадратных скобках:

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