Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема со сложным SQl запросом в C# 
:(
    Опции темы
Chef
  Дата 11.12.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 7.12.2007
Где: РК Павлодар

Репутация: нет
Всего: нет



Проблема такая:

Простые запросы работаю (SELECT <Поле> FROM <таблица>)

А вот сложные не хотят, в чем причина. Запрос делал в самом C#, он правильный работает.
Вот код.

Код

string sConnectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb";
            string sQueryString = @"SELECT Music.musicName, Disk.DiskName, [Group].GroupName"+
                                  @"FROM ((Disk INNER JOIN"+
                                  @"Music ON Disk.DiskID = Music.musicDisk) INNER JOIN"+
                                  @"[Group] ON Music.musicGroup = [Group].GroupID)";

            OleDbConnection dbConnection = new OleDbConnection(sConnectString);
            OleDbCommand dbCommand = new OleDbCommand(sQueryString, dbConnection);
            dbConnection.Open();
            OleDbDataReader dbReader = dbCommand.ExecuteReader(); //Тут выдает
                                                   // Ошибка синтаксиса (пропущен оператор) в выражении запроса 


Ваше мнение по данному вопросу 


--------------------
Разговоры об IT
PM MAIL WWW   Вверх
Baa
Дата 11.12.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Уже такой вопрос был smile всё дело, очередной раз, в невнимательности
Код

string sQueryString = @"SELECT Music.musicName, Disk.DiskName, [Group].GroupName" +
                                  @"FROM ((Disk INNER JOIN" +
                                  @"Music ON Disk.DiskID = Music.musicDisk) INNER JOIN" +
                                  @"[Group] ON Music.musicGroup = [Group].GroupID)";

            Console.WriteLine(sQueryString);

Угадай, что выведет этот код?
А выведет он след. хрень:
Код

SELECT Music.musicName, Disk.DiskName, [Group].GroupNameFROM ((Disk INNER JOINMu
sic ON Disk.DiskID = Music.musicDisk) INNER JOIN[Group] ON Music.musicGroup = [G
roup].GroupID)

Естественно этой конструкции SQL Server(или кто там у тебя через OleDb? ;-) ) удивится smile
Обрати внимание на отсутствие пробела перед FROM, да и во всех остальных местах, проще говоря, ты строки перенести забыл.

Это сообщение отредактировал(а) Baa - 11.12.2007, 11:52


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Chef
Дата 11.12.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 7.12.2007
Где: РК Павлодар

Репутация: нет
Всего: нет



Baa  спасибо большое !!!
Ошибка принята и исправляеться  smile 
--------------------
Разговоры об IT
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.