Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sql запросы, Как посмотреть результат запроса 
:(
    Опции темы
pavelv
Дата 10.2.2006, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 5.2.2006

Репутация: нет
Всего: нет



К примеру у меня есть запрос:
select count(nomer) from table1 where table1.name='Иванов'.
Не понимаю можно ли результат этого запроса передать переменной t:integer? Неужели для этого обязательно создавать таблицы на форме и работать с ними?
И если есть такой запрос:
select nomer from table1 where table1.name='Иванов' то можно ли передать значение этого
запроса переменной ts:tstrings?
PM MAIL   Вверх
ТоляМБА
Дата 10.2.2006, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Ответ на первый вопрос здесь
Цитата(pavelv @ 10.2.2006, 06:17 Найти цитируемый пост)

tstrings

С етими не работал, но попробуй в моем примере заменить AsFloat на AsVariant
PM   Вверх
CaNIBaLchik
Дата 10.2.2006, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 8.2.2006
Где: Томск

Репутация: нет
Всего: нет



а через database designer не судьба? он там все отображает
PM MAIL ICQ   Вверх
sexton
Дата 10.2.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(CaNIBaLchik @ 10.2.2006, 07:08 Найти цитируемый пост)

а через database designer не судьба? он там все отображает

При чем тут это? Человек про рантайм спрашивает.

Цитата(pavelv @ 10.2.2006, 06:17 Найти цитируемый пост)

Не понимаю можно ли результат этого запроса передать переменной t:integer? Неужели для этого обязательно создавать таблицы на форме и работать с ними?

Достаточно написать t := Query.FieldByName('nomer').AsInteger;

По аналогии для tstrings - можно циклом пробежаться по dataset'у и загнать все в TStrings/
PM MAIL WWW ICQ   Вверх
DimW
Дата 10.2.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата

select count(nomer) from table1 where table1.name='Иванов'.

к такому запросу необходим алиас поля, его можно задать так:
Код

select count(nomer) as count_nomer from ................


затем обратится так: (допустим запрост выполняет Query1)
Код

var
n: integer;
begin
Query1.Close;
//передаешь параметры если надо...
Query1.Open;
n:= Query1.FieldByName('count_nomer').AsInteger;
end;


Если запросом обращаешься к БД Oracle то вместо "as" используется пробел.
PM MAIL ICQ   Вверх
Vas
Дата 10.2.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(DimW @ 10.2.2006, 10:18 Найти цитируемый пост)

к такому запросу необходим алиас поля, его можно задать так:
Выделить всёкод SQL
1:

select count(nomer) as count_nomer from ................

Не обязательно можно будет обратиться по номеру зная что в запросе одно поле:
Код

var 
i:integer;
begin
try
Query1.Open;
i:=Query1.Fields[0].AsInteger;
Query1.Close;
except
//делаем что-то если ошибка
end;


В TStirngs загонять придется только циклом (как ранее уже говорилось) я обычно комбобоксы так заполняю:
Код

try
Query1.Open;
Query1.First;
while not Query1.Eof do
begin
Strings1.Add(Query1.FieldByName('бла..бла').AsString;
Query1.Next; //не забываем перейти на следующую, а то зациклимся
end;
Query1.Close;
except
//делаем что-то если ошибка
end;





--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
DimW
Дата 10.2.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Vas @ 10.2.2006, 13:19 Найти цитируемый пост)

Не обязательно можно будет обратиться по номеру зная что в запросе одно поле:


с этим фактом не поспоришь. просто мне удобнее использовать алиас поэтому и совет был соответствующий smile . Можно конечно поспорить о + и -, но думаю метод реализации стоит оставить на совести программиста!!! smile
PM MAIL ICQ   Вверх
Vas
Дата 10.2.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(DimW @ 10.2.2006, 15:36 Найти цитируемый пост)

с этим фактом не поспоришь. просто мне удобнее использовать алиас поэтому и совет был соответствующий


Мне кстати тоже smile

Цитата(DimW @ 10.2.2006, 10:18 Найти цитируемый пост)

Если запросом обращаешься к БД Oracle то вместо "as" используется пробел.


Кстати, а почему так ORACLE тоже прекрасно понимает "as" smile


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
DimW
Дата 10.2.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Vas @ 10.2.2006, 16:04 Найти цитируемый пост)

Кстати, а почему так ORACLE тоже прекрасно понимает "as" 


умный этот Oracle! smile

Это сообщение отредактировал(а) DimW - 10.2.2006, 16:23
PM MAIL ICQ   Вверх
CaNIBaLchik
Дата 13.2.2006, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 8.2.2006
Где: Томск

Репутация: нет
Всего: нет



Цитата(DimW @ 10.2.2006, 16:21 Найти цитируемый пост)
Кстати, а почему так ORACLE тоже прекрасно понимает "as" 




умный этот Oracle! 



ага есть такое, а кто нить знает есть ли в Оракле язык с переменными на доменах?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.