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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2018, 16:31   #1
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию сортировка по нажатию на столбец dbgrideh

подскажите, в чем проблема?
запрос не выполняется...
Код:
procedure TMainForm.DetalDBGridEhTitleBtnClick(Sender: TObject; ACol: Integer;
  Column: TColumnEh);
begin
 With StandQuery do
  begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT Stand.*,');
  SQL.Add('Gost.Gost_ID AS GostID, Gost.Name AS GostName,');
  SQL.Add('Okp.Okp_ID AS OkpID,Okp.Klass,Okp.Naim');
  SQL.Add('FROM Stand,');
  SQL.Add('Gost,');
  SQL.Add('Okp');
  SQL.Add('WHERE Stand.Gost_Id=Gost.Gost_Id ');
  SQL.Add('AND Stand.Okp_Id=Okp.Okp_Id');
  SQL.Add('ORDER BY Mark ASC');
  Open;
  end;
end;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 30.01.2018 в 16:58.
Etsareva вне форума Ответить с цитированием
Старый 30.01.2018, 16:39   #2
gantzboss
Пользователь
 
Регистрация: 02.11.2017
Сообщений: 31
По умолчанию

inner join не пробовали?

Последний раз редактировалось gantzboss; 30.01.2018 в 16:42.
gantzboss вне форума Ответить с цитированием
Старый 30.01.2018, 16:40   #3
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

нет, надо попробовать...
Etsareva вне форума Ответить с цитированием
Старый 30.01.2018, 17:05   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Etsareva Посмотреть сообщение
запрос не выполняется...
как именно не выполняется? какие проявления? есть ошибки?
по заголовку таблицы щёлкаете - запрос выполняется?
что такое StandQuery ?
в отладке ходили? отладочные сообщения выдавали?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2018, 09:19   #5
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
по заголовку таблицы щёлкаете - запрос выполняется?
по заголовку таблицы щелкаю, ничего не происходит.
Etsareva вне форума Ответить с цитированием
Старый 31.01.2018, 09:19   #6
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
как именно не выполняется? какие проявления? есть ошибки?
никак ошибок, ничего...
Etsareva вне форума Ответить с цитированием
Старый 31.01.2018, 09:22   #7
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

переписала через Inner join
Код:
procedure TMainForm.DetalDBGridEhTitleBtnClick(Sender: TObject; ACol: Integer;
  Column: TColumnEh);
begin
With StandQuery do
  begin
  Close;
  SQL.Clear;
  SQL.Add ('Select Stand.*,');
  SQL.Add ('Gost.Gost_ID AS GostID, Gost.Name AS GostName,');
  SQL.Add ('Okp.Okp_ID AS OkpID,Okp.Klass,Okp.Naim');
  SQL.Add ('FROM Stand');
  SQL.Add ('INNER JOIN Gost');
  SQL.Add ('on Stand.Gost_Id=Gost.Gost_Id');
  SQL.Add ('INNER JOIN Okp');
  SQL.Add ('on Stand.Okp_Id=Okp.Okp_Id ');
  SQL.Add ('ORDER BY Mark');
  Open;
  end;
end;
вылетает ошибка StandDS: Field index out of range. (StandDS - это dataset)
Etsareva вне форума Ответить с цитированием
Старый 31.01.2018, 10:19   #8
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

Цитата:
Сообщение от Etsareva Посмотреть сообщение
ошибка StandDS: Field index out of range.
Ошибку убрала, что не так с запросом? почему не отрабатывает в delphi? подскажите!
Etsareva вне форума Ответить с цитированием
Старый 31.01.2018, 10:30   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Etsareva Посмотреть сообщение
вылетает ошибка StandDS: Field index out of range. (StandDS - это dataset)
Вы где-то в приведённом Вами коде видите StandDS ?
что такое StandQuery и как он связан с StandDS ?

Вы отладчиком не пользуетесь?
Где в коде возникает ошибка "Field index out of range"?

короче, это всё игра в угадайку..
Помочь Вам в чужом навороченном проекте, гадая по кусочку кода - чрезвычайно сложно.

Цитата:
Сообщение от Etsareva Посмотреть сообщение
почему не отрабатывает в delphi?
с чего Вы решили, что он не отрабатывает?
Может он отрабатывает, но, например, меняет значение StandQuery, который не отображается у Вас в гриде.
А может быть, туда управление вообще не попадает.

Продолжаем развивать телепатические навыки?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2018, 10:51   #10
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
управление вообще не попадает
Может, и не попадает... только как это определить?
Etsareva вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в DBGridEh Aleksandr БД в Delphi 2 11.03.2013 15:50
Как найти столбец в DBGridEh по заголовку и удалить его? artemavd Общие вопросы Delphi 9 03.05.2012 13:41
DBGridEh и сортировка amida23 C/C++ Базы данных 0 07.02.2012 18:53
Сортировка в DBGridEh rombler69 БД в Delphi 5 09.02.2010 16:04
Сортировка в DbGridEh Alexeyss БД в Delphi 4 21.11.2009 11:25