Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько вопросов по TStringGrid и TQuery [D7, WinXP]


bigfoot ©   (2004-07-20 00:58:00) 

1) Как сделать сортировку в запросе tquery, например:

select * from tablexxx order by Date

Так по дате почему-то не сортирует!!!

2) Как определить, по какой ячейке кликнули в зафиксированной строке типа title (fixed) в StringGrid?
(как ontitleclick в dbgrid)

3) Почему не работает запрос в TQUERY (Date - поле типа Date):

select t1,t2,t3 from tablexxx where Date=(select max(Date) from results)
или
select t1,t2,t3 from tablexxx where Date=(select Date from results order by Date desc limit 1)//что-то типа такого наворота

Выдает ошибку:
..
invalid use of keyword.
Token: Date=(select
Line Number: 1'. Process stopped

4) Почему нельзя сделать выборку в tquery, ограничев параметром 'limit'? У меня почему-то не съедает! (Выдает ошибку как в предыдущем вопросе)

P.S. Если это важно, то я использую Paradox. Может синтаксис sql-запросов отличается?


Германн   (2004-07-22 03:04:00) [1]

2 bigfoot ©   (22.07.04 00:56) [18]
"Что он/оно весит слищком много" и "чтобы все юзеры не заморачивались закачивать много всего на своих дряхлых модемах", имхо - две совершенно разные вещи. (Типа "мухи и котлеты").


bigfoot   (2004-07-22 00:56:00) [2]

Я имею ввиду, чтобы все юзеры не заморачивались закачивать много всего на своих дряхлых модемах. Тем более, это может сказаться на его популярности в месте распространения (где мне надо)!


Johnmen   (2004-07-21 14:01:00) [3]

Видимо у нас разные понятия о "слишком много места"
:)


Ega23   (2004-07-21 14:00:00) [4]

bigfoot ©   (21.07.04 13:58) [15]

В смысле весит слишком много: 3.x mb для разработки и 1.4 mb для установки пользователю с приложением. А у меня приложение не больше 1 mb

А это сильно существенно? 3 мб больше, 3 меньше...
При современных компах-то?


bigfoot   (2004-07-21 13:58:00) [5]

В смысле весит слишком много: 3.x mb для разработки и 1.4 mb для установки пользователю с приложением. А у меня приложение не больше 1 mb


Johnmen   (2004-07-21 09:14:00) [6]

>Firebird занимает слишком много места.

Много, это сколько ?


nobody_   (2004-07-21 09:09:00) [7]

bigfoot> Firebird занимает слишком много места. Есть какая-нибудь альтернатива?

попробуй SQLite( www.sqlite.org ) + www.aducom.com/sqlite/ или sqlite4delphi ( sourceforge.net/projects/sqlite4delphi ), он меньше чем Firebird, но у него есть свои особенности.


REP   (2004-07-21 08:31:00) [8]

Если локально, то есть разные модули встраиваемые в приложения для работы сразличными базами. (да хотя бы через ADO с Access (Правда Access занимает еще больше места :)))
Если хочешь клиент-сервер, тогда все равно придется серверок-то поставить.


bigfoot   (2004-07-21 07:42:00) [9]

Firebird занимает слишком много места. Есть какая-нибудь альтернатива?


bigfoot   (2004-07-21 05:12:00) [10]

Есть ли база, которая не требует дополнительных установок на пользовательскую систему? Не хочется все хранить в текстовых файлах и обрабатывать руками :)


bigfoot   (2004-07-21 05:01:00) [11]

//Ты используешь BDE, а значит LocalSQL. Посмотри справку для него, он не поддерживает Limit

А какие базы не LocalSQL?


REP   (2004-07-20 07:40:00) [12]

Ты используешь BDE, а значит LocalSQL. Посмотри справку для него, он не поддерживает Limit


Думкин   (2004-07-20 06:42:00) [13]

Да, S.X даст колонку.


Думкин   (2004-07-20 06:41:00) [14]

> 2) Как определить, по какой ячейке кликнули в зафиксированной
> строке типа title (fixed) в StringGrid?
> (как ontitleclick в dbgrid)

procedure TfMain.sgPriceMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var S : TGridCoord;
begin
    S := sgPrice.MouseCoord(X, Y);
    if S.Y = 0 then begin
      //Ты поднял мышь над первой строкой
    end
end;


Германн   (2004-07-20 03:33:00) [15]

2 bigfoot ©   (20.07.04 03:14) [4]
Версию Дельфи ты указал. Версию Windows - тоже.
Но, увы версию базы данных забыл указать. А, к примеру, limit - может быть не понят движком твоей базы данных.

Имхо, пора перенести топик в форум "Базы дпнных".


bigfoot   (2004-07-20 03:14:00) [16]

Спасибо, с зарезервированным словом разобрался!
Но все-таки, как правильно написать запрос на ограничение выдаваемых записей (limit):
select t1,t2,t3 from tablexxx limit 0,10
или
select t1,t2,t3 from tablexxx limit 1
Ни то, ни другое обрабатывать не хочет - говорит Token not found. Token: limit


Германн   (2004-07-20 03:08:00) [17]

2 GanibalLector ©   (20.07.04 02:05) [2]
Запостил и забыл!
И предлагаешь еще одно "неверное" употребление Date?

2 Снежный Человек, он же BigFoot.
  Никогдане используй "зарезервированные" слова в качестве имен своих переменных, полей в таблицах баз данных и т.д. и т.п.


GanibalLector   (2004-07-20 02:05:00) [18]

>3) Почему не работает запрос в TQUERY (Date - поле типа Date):
>select t1,t2,t3 from tablexxx where Date=(select max(Date) from results)

А так: select t1,t2,t3 from tablexxx where Date in(select max(Date) from results)


GanibalLector   (2004-07-20 02:03:00) [19]

>1) Как сделать сортировку в запросе tquery, например:
>select * from tablexxx order by Date
>Так по дате почему-то не сортирует!!!

Все сортирует.Единственное,что приходит в голову,так это то,что слово Dateзарезервировано.Измени поле и заработает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо