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

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

Просто Query без table и DBGrid [D5, D6, D7, DB2]


Страницы:   1 2

Lefan ©   (2002-12-17 14:54:00) 

Приветсвую всех...
Народ, такая проблема, требуется просто найти запись, имеется ли такая иль нет.
на клиента тащить безполезно (более 70 млн. записей)...
если есть обновить, если нет, добавить....
везде гляжу примерчики, и везде с table или DBGrid.
А так просто можна?

Вот наковырял:
data.Query.SQL.Clear;
data.Query.SQL.Text:="Select * from SAV.DAY8 where datestr=""5/12""";
data.Query.ExecSQL;

проверить не получается, есть такая запись иль нет... :(

Заранее благодарен за ответ.
С уважением Алексей.


Карелин Артем   (2002-12-17 15:58:00) [21]

Q.FetchAll; - чревато привисанием при большом числе записей.


Val   (2002-12-17 15:57:00) [22]

>Sergey Masloff (17.12.02 15:33)
а если оно действительно null?
думаю, лучше проверить так:


...
Q.Open;
Q.FetchAll;
if Q.RecordCount>0 then
..
else
..
end;
...


Карелин Артем   (2002-12-17 15:43:00) [23]

data.Query.SQL.Text:="Select count(*) from SAV.DAY8 where datestr=""5/12";
data.Query.open;
data.Query.Fields[0].AsInteger - Число записей.


Johnmen   (2002-12-17 15:37:00) [24]

>Sergey Masloff (17.12.02 15:33)
> if Fields[0].IsNull then
> ShowMessage("Таких нету!");

Ты что, серьезно ?!


Sergey Masloff   (2002-12-17 15:33:00) [25]

data.Query.SQL.Clear;
data.Query.SQL.Text:="Select * from SAV.DAY8 where datestr=""5/12""";
data.Query.ExecSQL;

with Data.Query do
begin
SQL.Clear();
SQL.Text := "Select * from SAV.DAY8 where .............
Open();
try
if Fields[0].IsNull then
ShowMessage("Таких нету!");
finally
Close();
end;
end;


Max Zyuzin   (2002-12-17 15:32:00) [26]

>lefan © (17.12.02 15:25)
Конечно можно... теперь давайте определимся где происходит затык...??
Вы пробовали писать не ExecSQL а Open?


lefan   (2002-12-17 15:25:00) [27]

мне просто нужно выполнить запрос на удаленной машине...
data.Query.SQL.Text:="Select * from SAV.DAY8 where datestr=""5/12"""

и получить какой-нить код иль еще что-нить, чтоб определить имеется ли такая запись иль нет.
Не хочу накручивать table и BDGrid
иль без них накак не обойтись?
Неужели такой элементарный запрос нельзя выполнить?
иль пусть возвращает результат например в Stringили Edit, если это вообще возможно... :)

Заранее благодарен за ответ.
С уважением Алексей.


Max Zyuzin   (2002-12-17 15:02:00) [28]

>Sergey Masloff (17.12.02 15:00)
Позор на мою седую голову :о) просмотрел :)))


Sergey Masloff   (2002-12-17 15:00:00) [29]

Проблема в том, что ExecSQL для запросов НЕ ВОЗВРАЩАЮЩИХ НАБОР ДАННЫХ. Для всех SELECT запросов используется Open


Calm   (2002-12-17 14:57:00) [30]

А не подойдет ли
if (exists(select <то, что нужно>))...
?


Max Zyuzin   (2002-12-17 14:57:00) [31]

Не понял в чем именно проблемма... какое у вас ключевое поле в таблице? По нему и ищите... пример у вас в нужном направлении...
Что у вас не получается?


Страницы:   1 2

Наверх

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