У меня есть такой код:

public void FillData()
    {
        // 1 step. Open connection
        string conection = @"Data Source=|DataDirectory|db.sdf;Persist Security Info=False;";
        try
        {
            SqlCeConnection c = new SqlCeConnection(conection);
            c.Open();

            // 2 step. Create new DataAdapter
            using (SqlCeDataAdapter a = new SqlCeDataAdapter("SELECT * FROM USER", c))
            {
                // 3 step. Use DataAdapter to fill table
                DataTable t = new DataTable();
                a.Fill(t);
                // 4 step. Render data on the DataGridView
                dataGridViewUsers.DataSource = t;
            }
        }
        catch (SqlException e)
        {
            MessageBox.Show(e.Message);
        }

    }

Я могу подключиться к базе данных, но SqlCeDataAdapter запускает эту ошибку:

There was an error parsing the query. [Token line number = 1, Token line offset = 15, Token in error = USER]

В моей базе данных есть таблица с именем USER, так что не так с этим кодом ??

0
Sonhja 11 Янв 2013 в 15:03

1 ответ

Лучший ответ

USER - зарезервированное слово. Передайте это как [USER] в своем запросе. Ваш запрос должен выглядеть так.

new SqlCeDataAdapter("SELECT * FROM [USER]", c))
2
Habib 11 Янв 2013 в 15:04