Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 235
от 06.11.2006, 16:35

Администратор:CJ
В рассылке:Подписчиков: 272, Экспертов: 33
В номере:Вопросов: 2, Ответов: 6


Вопрос № 60836: Здраствуйте уважаемые эксперты. Помогите пожалуйста с проблемой. Есть SQL-запрос : SELECT SUM(summa_vsego) FROM zakaz. Так вот как поместить результат этого запроса в переменную real_var:real; ? И ещё вопрос, как вычисляемые поля расп...
Вопрос № 60883: Подскажите, по какой причине создание хранимой процедуры из Делфи с использованием IBQuery вызывает ошибку InterBase сервера: token unknown - line ... ? хотя в IBConsol аналогичный SQL выполняется без проблем, с чем это может быть связан...

Вопрос № 60.836
Здраствуйте уважаемые эксперты.
Помогите пожалуйста с проблемой.
Есть SQL-запрос : SELECT SUM(summa_vsego) FROM zakaz.
Так вот как поместить результат этого запроса в переменную real_var:real; ?
И ещё вопрос, как вычисляемые поля распечатывать?
не печатуются, хоть убей, другие компоненты не предлагать.
Спасибо, заранее!
Отправлен: 01.11.2006, 01:39
Вопрос задал: newinfo2005 (статус: 8-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PaVeL_Ekt
Здравствуйте, newinfo2005!

Поместить можно попробовать примерно так
Real_var:=Query1.FieldByName('FNAME').AsFloat;

а с полем попробуй такую фишку
SELECT SUM(summa_vsego) as Summ FROM zakaz
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 01.11.2006, 07:17

Отвечает: Маренич Владимир
Здравствуйте, newinfo2005!
1.
Query1.SQL.Text:=' SELECT SUM(summa_vsego) FROM zakaz';
Query1.Open;
Real_var:=Query1.Fields[0].AsFloat;
Query1.Close;

2. Проверьте AutoCalcFields=true в наборе данных (Table1 или как там его Вы назвали)
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 01.11.2006, 14:15


Вопрос № 60.883
Подскажите, по какой причине создание хранимой процедуры из Делфи с использованием IBQuery вызывает ошибку InterBase сервера: token unknown - line ...
?

хотя в IBConsol аналогичный SQL выполняется без проблем, с чем это может быть связанно? Заранее спасибо.
Отправлен: 01.11.2006, 11:20
Вопрос задал: Kotsa (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Kotsa!

А приложить пример не догадался?
Если ты IBQuery открываешь методом .open, то будет такая ошибка. Нужен метод .exeSQL

2) Она тебе пишет "Цель неизвестна - строка ..." - посмотри в этой строке что ей нужно
---------
Если дело заслуживает быть сделаным, то оно заслуживает чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Практикант)
Ответ отправлен: 01.11.2006, 11:32

Отвечает: PaVeL_Ekt
Здравствуйте, Kotsa!

Смотрите по символам, например, чтобы в запросе была кавычка то в делфе нужно писать в тексте запроса две кавычки !!!
Проще всего посмотреть, что почем это использовать TClipBoard;
перед выполнением SQL скрипта создания процедуры выполните следующий код

uses Clipbrd;
...
var cb:Tclipboard;
...
cb:=TClipBoard.Create;
cb.asText:=Query1.SQL.Text;
showmessagee(' '); //просто для паузы выполнения.

всавляеш в IBConsole из клипборда смотриш внимательно и пытаешся откампелить.

если не получиться выложи текст запроса по созданию процедуры в онлайн, посмотрим


---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 3-ий класс)
Ответ отправлен: 01.11.2006, 12:00
Оценка за ответ: 5

Отвечает: Маренич Владимир
Здравствуйте, Kotsa!
В синтаксисе описания хранимой процедуры используетяс чимвол ";" (точка с запятой) для разделения команд. В тоже время в IBConsole этот символ используется для разделения отдельных SQL-команд/запросов. Поэтому в IBConsole добавили еще SET TERM для задания нового разделителя. Поэтому, если у Вас в IBQuery.SQL есть SET TERM, то Interbase его конечно не понимает. Просто используйте сиснтаксис создания процедуры с ";" без всяких SET TERM
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 01.11.2006, 14:25

Отвечает: Viktor_sh
Здравствуйте, Kotsa!
Вы не указали текст создания хранимой процедуры, поэтому понять что у вас неправильно сложно, приведите отрывок из текста.
Ответ отправил: Viktor_sh (статус: 1-ый класс)
Ответ отправлен: 01.11.2006, 18:30


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное