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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.10.2013, 02:57   #1
8tomat8
Пользователь
 
Регистрация: 14.09.2013
Сообщений: 46
Вопрос Запрос в SQL из Delphi

И снова здрасте...

Сейчас делаем выгрузку через макрос в Excel'e, решил попробовать сделать тот же запрос в Delphi но наткнулся на проблему. Система все время выдает ошибку
Цитата:
ADOQuery1: Parameter 'start' not found
И так на все переменные. Уже попробовал прописывать, как советовали интернеты, но толку 0 ((
Код:
ADOQuery1.Parameters.ParseSQL(ADOQuery1.sql.text, true);
Вот сам код
Код:
procedure TForm1.Button1Click(Sender: TObject);
var startQ,finishQ,Cod1Q: string;
begin
if (Start.text <> '') and (Finish.Text <> '') and (Cod1.text <> '') then
    StartQ:=Trim(Start.Text);
    FinishQ:=Trim(Finish.Text);
    Cod1Q:=Trim(Cod1.Text);
    ADOQuery1.Active:=False;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SET QUOTED_IDENTIFIER OFF ');
    ADOQuery1.SQL.Add('EXEC gdpExecSql "SELECT FNOM_DOC,FNOM_VAG,FNOM_CON,FDAT_SRC');
    ADOQuery1.SQL.Add('FROM TDATA JOIN TCL AS TCL_FIC_NMK_ ON FIC_NMK_=TCL_FIC_NMK_.FID JOIN TCL AS TCL_FIC_MRS_V_ ON FIC_MRS_V_=TCL_FIC_MRS_V_.FID');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_OTP_V_ ON FIC_OTP_V_=TCL_FIC_OTP_V_.FID JOIN TCL AS TCL_FIC_PER_V_ ON FIC_PER_V_=TCL_FIC_PER_V_.FID JOIN TCL AS TCL_FIC_OTP_K_ ON FIC_OTP_K_=TCL_FIC_OTP_K_.FID JOIN TCL AS TCL_FIC_RPS_T_ ON FIC_RPS_T_=TCL_FIC_RPS_T_.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_RPS_V_ ON FIC_RPS_V_=TCL_FIC_RPS_V_.FID JOIN TCL AS TCL_FIC_RPS_P_ ON FIC_RPS_P_=TCL_FIC_RPS_P_.FID JOIN TCL AS TCL_FIC_RPS_O_ ON FIC_RPS_O_=TCL_FIC_RPS_O_.FID JOIN TCL AS TCL_FIC_RPS_A_ ON FIC_RPS_A_=TCL_FIC_RPS_A_.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_ORG_SRC ON FIC_ORG_SRC=TCL_FIC_ORG_SRC.FID JOIN TCL AS TCL_FIC_ORG_DST ON FIC_ORG_DST=TCL_FIC_ORG_DST.FID JOIN TCL AS TCL_FIC_ORG_COM ON FIC_ORG_COM=TCL_FIC_ORG_COM.FID JOIN TCL AS TCL_FIC_ORG_OUT ON FIC_ORG_OUT=TCL_FIC_ORG_OUT.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_VAL_ ON FIC_VAL_=TCL_FIC_VAL_.FID JOIN TCL AS TCL_FIC_STR_COM ON FIC_STR_COM=TCL_FIC_STR_COM.FID JOIN TCL AS TCL_FIC_RWY_COM ON FIC_RWY_COM=TCL_FIC_RWY_COM.FID JOIN TCL AS TCL_FIC_RWY_S_COM ON FIC_RWY_S_COM=TCL_FIC_RWY_S_COM.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_RWY_T_COM ON FIC_RWY_T_COM=TCL_FIC_RWY_T_COM.FID JOIN TCL AS TCL_FIC_STR_OUT ON FIC_STR_OUT=TCL_FIC_STR_OUT.FID JOIN TCL AS TCL_FIC_RWY_OUT ON FIC_RWY_OUT=TCL_FIC_RWY_OUT.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_RWY_S_OUT ON FIC_RWY_S_OUT=TCL_FIC_RWY_S_OUT.FID JOIN TCL AS TCL_FIC_RWY_T_OUT ON FIC_RWY_T_OUT=TCL_FIC_RWY_T_OUT.FID JOIN TCL AS TCL_FIC_RWY_PER ON FIC_RWY_PER=TCL_FIC_RWY_PER.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_RWY_S_PER ON FIC_RWY_S_PER=TCL_FIC_RWY_S_PER.FID JOIN TCL AS TCL_FIC_RWY_T_PER ON FIC_RWY_T_PER=TCL_FIC_RWY_T_PER.FID ');
    ADOQuery1.SQL.Add('JOIN TCL AS TCL_FIC_RWY_S_SRC ON FIC_RWY_S_SRC=TCL_FIC_RWY_S_SRC.FID JOIN TCL AS TCL_FIC_RWY_T_SRC ON FIC_RWY_T_SRC=TCL_FIC_RWY_T_SRC.FID ');
    ADOQuery1.SQL.Add('WHERE TCL_FIC_PER_V_.FCOD=''прибуття'' ');
    ADOQuery1.SQL.Add('AND FOP_DATE>= '+Char(39));
    ADOQuery1.Parameters.ParseSQL(ADOQuery1.sql.text, true);
    ADOQuery1.SQL.Add(':start');
    ADOQuery1.Parameters.ParamByName('start').Value:=StartQ;
    ADOQuery1.SQL.Add(Char(39)+' AND FOP_DATE<= '+Char(39));
    ADOQuery1.SQL.Add(':finish');
    ADOQuery1.Parameters.ParamByName('finish').Value:=FinishQ;
    ADOQuery1.SQL.Add(Char(39)+' AND (TCL_FIC_NMK_.FCOD LIKE '+Char(39));
    ADOQuery1.SQL.Add(':Cod1');
    ADOQuery1.Parameters.ParamByName('Cod1').Value:=Cod1Q;
    ADOQuery1.SQL.Add('%'+Char(39)+')"');
    ADOQuery1.Active:=True;
    //ADOQuery1.ExecSQL;
end;
Подскажите пожалуйста где я чего не досоздал?



PS Прошу прощения. Разобрался через 6 часов возни на месте))) МОЖНО ЗАКРЫВАТЬ)

Последний раз редактировалось 8tomat8; 12.10.2013 в 05:04. Причина: Разобрался)
8tomat8 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос в Delphi. dima1257 Помощь студентам 2 07.06.2013 23:30
delphi и SQL запрос world12_tk Помощь студентам 5 17.05.2012 15:35
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Запрос SQL из Access в Delphi Talemir БД в Delphi 5 26.08.2009 20:46
sql запрос delphi viperrr Помощь студентам 13 03.07.2009 03:08