Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Мужики, помогите разобраться c create view . 


B_A_V   (2002-04-09 08:33) [0]

Пишу код (СОЗДАЮ ТАБЛИЦУ ПРОСМОТРА):
procedure TFm_svod.BitBtn2Click(Sender: TObject);
begin
ADOQ_svod.Close;
ADOQ_svod.Parameters.ParamByName("pd5").value:=DTP_svod.Date;
ADOQ_svod.SQL.text:="create view sss7 as select * from Ysh_Pr where Data_YP <=:pd5 ";
ADOQ_svod.ExecSQL;
end;
- НЕ РАБОТАЕТ
Пишет - Incorrect syntax near the keyword "view"

Пишу код (ДЕЛАЮ ВЫБОРКУ):
procedure TFm_svod.BitBtn2Click(Sender: TObject);
begin
ADOQ_svod.Close;
ADOQ_svod.Parameters.ParamByName("pd5").value:=DTP_svod.Date;
ADOQ_svod.SQL.text:= "select * from Ysh_Pr where Data_YP <= :pd5 ";
ADOQ_svod.Open;
end;
- РАБОТАЕТ


Что посоветуете?

Самое интересное заменяю строчку
ADOQ_svod.SQL.text:="create view sss7 as select * from Ysh_Pr where Data_YP <=:pd5 ";
на
ADOQ_svod.SQL.text:="create view sss7 as select * from Ysh_Pr where Data_YP <=""2002-01-01"" ";
- ВСЕ РАБОТАЕТ

Я вообще уже запутался, бьюсь уже второй день.



Johnmen   (2002-04-09 09:15) [1]

Такой вот вариант :

...
ADOQ_svod.SQL.text:="create view sss7 as select * from Ysh_Pr where Data_YP <="""+
FormatDateTime("yyyy.mm.dd",DTP_svod.Date)+"""";
...

и ,соответственно, никаких параметров...



wicked   (2002-04-09 10:20) [2]


> FormatDateTime("yyyy.mm.dd",DTP_svod.Date)

только не забудь, что даты пишутяс в формате "yyyy-mm-dd"... или используй convert...



MCFire   (2002-04-09 11:07) [3]

У тебя параметр передаётся в формате TDateTime а нужно в string.
DTP_svod.Date это число которое определяет дату а не сама дата



B_A_V   (2002-04-09 11:15) [4]

всем спасибо



B_A_V   (2002-04-09 12:07) [5]

А почему тогда во втором случае при выборке работает?

procedure TFm_svod.BitBtn2Click(Sender: TObject);
begin
ADOQ_svod.Close;
ADOQ_svod.Parameters.ParamByName("pd5").value:=DTP_svod.Date;
ADOQ_svod.SQL.text:= "select * from Ysh_Pr where Data_YP <= :pd5 ";
ADOQ_svod.Open;
end;
- РАБОТАЕТ



Johnmen   (2002-04-09 12:20) [6]

Потому, что в 1.случае нужна фактически макроподстановка,
а во 2. просто параметр...



wicked   (2002-04-09 12:21) [7]

потому что "create view..." и "select * from..." - это две большие разницы... первое - это data definition language, к нему mssql относится очень трепетно и щепетильно... а второе - простой select...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.028 c
1-94434           AlexMey               2002-04-15 14:03  2002.04.29  
Выравнивание компонентов


4-94628           Оля                   2002-02-21 10:22  2002.04.29  
Внимание! Хотелось бы обобщить вопросы по handle за последние несколько дней.


6-94530           ctapik-net            2002-02-14 15:53  2002.04.29  
Определениие списка компьютеров в сети.


1-94428           JF                    2002-04-18 12:04  2002.04.29  
Opredelenie versii Delphi


4-94616           Deus                  2002-02-23 00:30  2002.04.29  
Кто-нибудь работал с GpSysHook?