Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не выполняется запрос к dbf базе (число прочтений - 2333 )
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Не выполняется запрос к dbf базе
27. Декабря 2006 :: 06:35
Печать  
Простой запрос в разделенном режиме , подскажите что не так делаю, предварительно оттестил запрос на скуль варианте базы
вот код
     База = СоздатьОбъект("OLEDBData");
     База.Connect("Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ() + ";Mode=Read;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""");
     
     RS = База.СоздатьКоманду();
     ТекстЗапроса = "
     |SELECT
     |  $spr.ДатаПосещения as ДатаПосещения,
     |  $spr.ВремяПосещения as ВремяПосещения,
     |  Пациент.descr as Пациент,
     |  Врач.Descr as Врач
     |FROM
     |  $Справочник.Посещения as spr
     |INNER JOIN
     |  $Справочник.Пациенты as Пациент ON Пациент.ID = spr.parentext
     |INNER JOIN
     |  $Справочник.Врачи as Врач ON Врач.ID = $spr.Врач
     |WHERE
     |  spr.ismark <> 1 AND
     |  $spr.ДатаПосещения BETWEEN :НачДата AND :КонДата";

     RS.УстановитьТекстовыйПараметр("НачДата", НачДата);
     RS.УстановитьТекстовыйПараметр("КонДата", КонДата);
     RS.Отладка(1);
     Время = _GetPerformanceCounter();
     ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
     RS.Закрыть();

Выдает ошибку

SELECT
  spr.sp55 as ДатаПосещения,
  spr.sp56 as ВремяПосещения,
  Пациент.descr as Пациент,
  Врач.Descr as Врач
FROM
  sc46 as spr
INNER JOIN
  sc12 as Пациент ON Пациент.ID = spr.parentext
INNER JOIN
  sc40 as Врач ON Врач.ID = spr.sp65
WHERE
  spr.ismark <> 1 AND
  spr.sp55 BETWEEN '20061001' AND '20061231'
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\1C-BASE\PATIENT\EXTFORMS\ПРОБА1С++DBF.ERT(28)}: FAILED! ICommandText::Execute(): Operator/operand type mismatch.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Не выполняется запрос к dbf базе
Ответ #1 - 27. Декабря 2006 :: 06:52
Печать  
$spr.ДатаПосещения BETWEEN :НачДата~~ AND :КонДата~~
Фокс даты не сравнивает со строками.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не выполняется запрос к dbf базе
Ответ #2 - 27. Декабря 2006 :: 07:09
Печать  
http://www.forum.mista.ru/topic.php?id=242224

F=ISMARK    |Flag Object is Marke|C   |1     |0
  
Наверх
ICQ  
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Не выполняется запрос к dbf базе
Ответ #3 - 27. Декабря 2006 :: 07:23
Печать  
О, точно
spr.ismark <> '*'
  
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Не выполняется запрос к dbf базе
Ответ #4 - 27. Декабря 2006 :: 09:08
Печать  
все получилось сенкс
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать