Форум: "Базы";
Поиск по всему сайту: 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.048 c
7-94590           Varfolomey            2002-01-20 20:29  2002.04.29  
RS232 - контроль чётности, что делать?


7-94578           Nikolay               2002-02-01 18:28  2002.04.29  
Сообщения


3-94281           Neverminder           2002-04-08 15:34  2002.04.29  
Как открыть .dbf файл с произвольным именем


4-94622           Great                 2002-02-17 09:09  2002.04.29  
Окно не становится активно при появлении


14-94561          Rammst                2002-03-24 06:41  2002.04.29  
HELP!