Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Внизпомогите написать запрос на SQL - не ясна одна буква Найти похожие ветки
← →
Fer (2005-11-28 21:03) [0]ADOQuery1.SQL.Add("select студент, группа from студенты where прослушано > 2"); - работает
ADOQuery1.SQL.Add("select группа from группы where группа = П-2"); - не работает.
Ругается:
[Microsoft][Драйвер ODBC Microsoft Acсess] Слишком мало параметров. Требуется 1.
Названия таблиц по-русски, название столбцов по-русски и группа называется по-русски П-2. Как вставить её в запрос чтобы он работал?
""П-2"" - тоже ругается. Что пишут в таких случаях?
← →
Palladin © (2005-11-28 21:14) [1]ADOQuery1.SQL.Add("select группа from группы where [группа] = "#39"П-2"#39); - не работает.
в таких случаях изучают типы данных
← →
Fer (2005-11-28 22:41) [2]Какие уж тут типы - текстовый, единственное поле в таблице группы, она же индекс где совпадения не допускаются. По этому же полю связана с таблицей студенты.
← →
Fer (2005-11-28 22:48) [3]SELECT группы.группа
FROM группы
WHERE (((группы.группа)="П-2")); - вариант запроса который работает в Access 2000 - составлен с помощью конструктора в самом Access 2000
Перенесённый же в Delphi вылетает с той же ошибкой.
← →
Virgo_Style © (2005-11-28 22:52) [4]Попробуй все-таки [1], вдруг поможет?
hint1: русские названия полей можно на всякий случай писать в квадратных скобках, надежнее
hint2: в запросе нужны одинарные кавычки:"П-2"
← →
sniknik © (2005-11-28 23:37) [5]> вдруг поможет?
часта случайна даааа? ;о))
серьезно. должно помочь, только одними скобочками([]) видать не обойдешся, надо все "нестандартные"(читай русские) имена в них заключать.
> ... составлен с помощью конструктора в самом Access 2000
с помощью конструктора аксесса и для аксесса, не для дельфей(/ADO+Jet)... есть разница. зачастую надо после него править.
← →
sniknik © (2005-11-28 23:55) [6]хм. на хинты внимания не обратил. ;(
по второму, Jet вообщето "ест" любые кавычки, это ODBC не понимает двойных и "коверкает" запрос на передаче так что тот понять не может.
так, что можно вместо правки запроса сделать подключение напрямую. без "зигзага" через ODBC, тоже получится.
← →
Wano © (2005-11-29 09:59) [7]> ADOQuery1.SQL.Add("select группа from группы where группа = П-2");
ADOQuery1.SQL.Add("select группа from группы where группа = "+""""+"П-2"+"""");
← →
msguns © (2005-11-29 10:14) [8]with ADOQuery1 do
begin
SQL.Add("select группа from группы where группа = :p1);
Parameters.ParamByName("p1").Value := "П-2";
Open;
...
end;
← →
pavel_guzhanov © (2005-11-29 10:16) [9]
ADOQuery1.SQL.Add("select группа from группы where группа =:Name");
ADOQuery1.Parameters[0].Value:="П-2"ж
ADOQuery1.Open;
← →
pavel_guzhanov © (2005-11-29 10:17) [10]
> msguns © (29.11.05 10:14) [8]
:o)) я опоздал
← →
Fer (2005-11-29 10:38) [11]Ребята, вы монстры! Варианты 1,7,8,9 - работают! В смысле ваще все варианты работают! Пасиб огромный!
Остаётся понять что такое #39... - может подскажите?
Уж очень красиво и лаконично.
И ещё.. вот мучаю я ODBC в связке с ADO - а в книжках постоянно встречаю что ODBC вообе самостоятельная технолигия доступа к данным.
Её что - можно саму по себе юзать? Без ADO?
И тут в 6 тоже пишут тчо сделать запрос на прямую без зигзага в ODBC - в смысле ADO может работать отдельно без ODBC ?
← →
sniknik © (2005-11-29 11:00) [12]что такое #39 = " (представленое кодом символа)
> а в книжках постоянно встречаю что ODBC вообе самостоятельная технолигия доступа к данным.
вранье. раньше может так и было, сейчас все друг на друга "повязаны".
убедись сам задай в своем подключении простой select * from [несуществующая таблица] и почитай от кого вернется ошибка (будет чтото вроде "ODBC сообшает ... (ядро jet не нашло таблицу)"). делай выводы кто на самом деле выполняет запрос а кто посредник.
> в смысле ADO может работать отдельно без ODBC ?
это шутка чтоли? ADO самостоятельный продукт под OLEDB провайдеров, весь ODBC там представлен единственным провайдером... а драйвера ODBC частенько представляют собой "пустышки" с редиректами на те же OLEDB провайдеры. (как в случае с тем же Jet-ом)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.014 c