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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2009, 21:35   #1
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию sql запрос

Привет помогите у меня SQL-запрос не действует т.е выдает ошибку
код:
PHP код:
procedure TForm1.DBGrid1TitleClick(ColumnTColumn);
begin
with ADOQuery1 
do
  
begin
    DisableControls
;
    
Close;
    
SQL.Clear;
    
SQL.Add(ADOQuery1.SQL.Text);
    
SQL.Add('ORDER BY ' Column.FieldName);
    
Open;
    
DBGrid1.Columns.RestoreDefaults;
    
Column.Title.Font.Color := clBlue;
    
EnableControls;
  
end
это сортировка по клику на DBGRID1
Изображения
Тип файла: jpg Безымянный.jpg (40.0 Кб, 131 просмотров)
fobass вне форума Ответить с цитированием
Старый 01.07.2009, 21:38   #2
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Это из примера в инете нащел там еще есть глобальная строка
adoqery1. Куда писать глобальную строку?
fobass вне форума Ответить с цитированием
Старый 01.07.2009, 21:46   #3
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
begin 
with ADOQuery1 do 
  begin 
    DisableControls; 
    SQL.Clear; 
    SQL.Add('Select * From <TableName> ORDER BY ' + Column.FieldName); 
    Open; 
    DBGrid1.Columns.RestoreDefaults; 
    Column.Title.Font.Color := clBlue; 
    EnableControls; 
  end;
Ты очистил AdoQuery потом к нему обращаешься SQL.Add(ADOQuery1.SQL.Text);.

Последний раз редактировалось Evgeniy26; 01.07.2009 в 21:54.
Evgeniy26 вне форума Ответить с цитированием
Старый 01.07.2009, 21:50   #4
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
На та ссылка.
У меня нет компонента TAble у меня adoconnection, adoqery, datasours
таблицы на accesse
fobass вне форума Ответить с цитированием
Старый 01.07.2009, 22:11   #5
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
Код:
procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
begin 
with ADOQuery1 do 
  begin 
    DisableControls; 
    SQL.Clear; 
    SQL.Add('Select * From <TableName> ORDER BY ' + Column.FieldName); 
    Open; 
    DBGrid1.Columns.RestoreDefaults; 
    Column.Title.Font.Color := clBlue; 
    EnableControls; 
  end;
Ты очистил AdoQuery потом к нему обращаешься SQL.Add(ADOQuery1.SQL.Text);.
Это я пример подгонял
Код:
 SQL.Add('Select * From <TableName> ORDER BY ' + Column.FieldName);
так я пробывал выходит error см рис.
да там еще глобальная строка есть куда его запехнуть

Код:
Сортировка DBGrid по клику на колонке.
Компилятор: Delphi

На форме расположены TQuery, TDatasource и TDbGrid связанные вместе.

QuerySQL, это глобальная строка, которая содержит SQL-выражение.

begin 
  QuerySQL := 'SELECT * FROM Customer.DB'; 
  Query1.SQL.Add(QuerySQL); 
  Query1.Open; 
end; 


В DBGrid в событии OnTitleClick, достаточно добавить ORDER-BY к sql-строке и обновить запрос.

procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
begin 
  with Query1 do 
  begin 
    DisableControls; 
    Close; 
    SQL.Clear; 
    SQL.Add(QuerySQL); 
    SQL.Add('ORDER BY ' + Column.FieldName); 
    Open; 
    // Восстанавливаем настройки заголовка, иначе всё станет синим
    DBGrid1.Columns.RestoreDefaults; 
    Column.Title.Font.Color := clBlue; 
    EnableControls; 
  end; 
end;
fobass вне форума Ответить с цитированием
Старый 01.07.2009, 22:23   #6
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
SQL.Add('Select * From <TableName> ORDER BY ' + Column.FieldName);
Что с этой строкой таже ошибка?
Покажи как ты ее записал.
Evgeniy26 вне форума Ответить с цитированием
Старый 02.07.2009, 10:14   #7
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
Код:
SQL.Add('Select * From <TableName> ORDER BY ' + Column.FieldName);
Что с этой строкой таже ошибка?
Покажи как ты ее записал.
я не понял по когда на аксессе создаещ таблицу он же колонку Код автоматом делает, так вот по колонке Код сортерует а по остальным выдает error вот фото
Изображения
Тип файла: jpg fonovyi.jpg (36.2 Кб, 136 просмотров)
fobass вне форума Ответить с цитированием
Старый 02.07.2009, 11:21   #8
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от fobass Посмотреть сообщение
я не понял по когда на аксессе создаещ таблицу он же колонку Код автоматом делает, так вот по колонке Код сортерует а по остальным выдает error вот фото
он автоматом делает, если ты сам не сделал, а вообще можно самому сделать.

у тебя у всех таблиц и полей название на русском языке???
может из-за этого проблема?
SlavaSH вне форума Ответить с цитированием
Старый 02.07.2009, 11:34   #9
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Если у тебя столбцы с пробелами, тогда заключи их в квадратные скобки:
Код:
SQL.Add('Select * From <TableName> ORDER BY [' + Column.FieldName) + ']';
Evgeniy26 вне форума Ответить с цитированием
Старый 02.07.2009, 11:42   #10
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от SlavaSH Посмотреть сообщение
он автоматом делает, если ты сам не сделал, а вообще можно самому сделать.

у тебя у всех таблиц и полей название на русском языке???
может из-за этого проблема?
да на русском
да у меня автоматом.
но поле Код тоже на русском. Главная по поле Код сортерует вчем сходство. Оно же должно сортироватся может adoqery нужно чет-то сделать
fobass вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос sql Zibellina БД в Delphi 10 02.07.2009 17:57
запрос sql sleeper_Izh SQL, базы данных 2 20.06.2008 11:27
SQL-запрос Dissonance БД в Delphi 5 17.06.2008 07:11
SQL-запрос Elena БД в Delphi 3 21.05.2007 11:34
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15