Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2012, 20:17   #21
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

а почему нельзя? я всегда добавлял и никогда таких ошибок не было.
AJIuCaRD вне форума Ответить с цитированием
Старый 20.01.2012, 20:21   #22
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

Спасибо огромное! Блин ошибка то была маленькая а я уже 4й день над этим мучаюсь :D

Совсем делфи забыл((
AJIuCaRD вне форума Ответить с цитированием
Старый 20.01.2012, 20:28   #23
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от AJIuCaRD Посмотреть сообщение
а почему нельзя? я всегда добавлял и никогда таких ошибок не было.
Можно конечно, только тогда в запросах эти поля должны присутствовать))
vovk вне форума Ответить с цитированием
Старый 20.01.2012, 20:33   #24
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

и еще вопросик. Вот у меня 2 таблицы. я вывожу из этих двух таблиц поля(по одному полю от каждой таблицы) и мне надо чтобы в DBGrid они были отдельными(а то он мне выводит но в одном поле в перемешку)
AJIuCaRD вне форума Ответить с цитированием
Старый 20.01.2012, 20:36   #25
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Запрос покажите, в котором вы эти данные запрашиваете.
vovk вне форума Ответить с цитированием
Старый 20.01.2012, 20:40   #26
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

Код:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('select Name') ;
DataModule2.ADOQuery1.SQL.Add('From Students');

DataModule2.ADOQuery1.SQL.Add('UNION');
DataModule2.ADOQuery1.SQL.Add('Select Имя');
DataModule2.ADOQuery1.SQL.Add('From RoduteJiu');

DataModule2.ADOQuery1.Active:=true;
AJIuCaRD вне форума Ответить с цитированием
Старый 20.01.2012, 20:50   #27
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

вы обьеденили 2 запроса,
Эти таблицы должны быть связаны по какому то полю, и запрос будет выглядеть примерно так

Код:
select Name, Имя From Students 
left Join RoduteJiu on Students.id = RoduteJiu.Имя_поля_В_котором_содержится_id_отпрыска
Если бы скинули и базу, написал бы запрос правильно)))

ЗЫ Не используйте кирилицы в названиях полей и таблиц.

Последний раз редактировалось vovk; 20.01.2012 в 20:52.
vovk вне форума Ответить с цитированием
Старый 20.01.2012, 20:53   #28
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

а начиная с left join как писать? так же DataModule2.ADOQuery1.SQL.Add('left join и тэдэ')?

а все...разобрался. Спасибо тебе Добрый человек))) очень сильно помог!

Последний раз редактировалось AJIuCaRD; 20.01.2012 в 21:05.
AJIuCaRD вне форума Ответить с цитированием
Старый 20.01.2012, 21:05   #29
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

можно так
Код:
DataModule2.ADOQuery1.close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.text:='select Name, Имя From Students '+
'left Join RoduteJiu on Students.id = RoduteJiu.Имя_поля_В_котором_содержится_id_отпрыска';

DataModule2.ADOQuery1.open;
Можно так

Код:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('select Name, Имя From Students ') ;
DataModule2.ADOQuery1.SQL.Add('left Join RoduteJiu on Students.id = RoduteJiu.Имя_поля_В_котором_содержится_id_отпрыска');
DataModule2.ADOQuery1.Active:=true;
можно так
Код:
DataModule2.ADOQuery1.open;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('select Name, Имя ') ;
DataModule2.ADOQuery1.SQL.Add(' From Students ') ;
DataModule2.ADOQuery1.SQL.Add('left Join RoduteJiu on Students.id = RoduteJiu.Имя_поля_В_котором_содержится_id_отпрыска');
DataModule2.ADOQuery1.Active:=true;
Главное чтобы запрос был правильно написан, и содержался в свойстве SQL.text вашего датасета,
Разбитие по строкам делать можно, но делать это надо осмысленно, потому что лично я вижу в этом только 1 смысл, облегчает отладку запроса при ошибках.
Но я запросы отлаживаю обычно другими средствами, так что мне разницы особой нет как он в датасете располагается))
vovk вне форума Ответить с цитированием
Старый 20.01.2012, 21:11   #30
AJIuCaRD
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

Спасибо тебе. ну я пользуюсь 3им способом. незнаю..мне как то более привычней он)
AJIuCaRD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка синтаксиса MetR Общие вопросы Delphi 11 13.01.2012 12:40
ошибка синтаксиса в предложении from MetR Помощь студентам 7 13.01.2012 11:04
Ошибка синтаксиса Santosh Microsoft Office Access 2 18.08.2010 00:15
Ошибка синтаксиса в предложении FROM general_krasnov БД в Delphi 7 04.06.2010 17:39
EOleException 'Ошибка синтаксиса в предложении FROM' XATAB БД в Delphi 5 24.11.2008 05:43