Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Помогите с 1sqlite (число прочтений - 6152 )
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с 1sqlite
Ответ #15 - 07. Апреля 2011 :: 12:51
Печать  
1st писал(а) 07. Апреля 2011 :: 12:38:
А что не так то?
Все один в один как у тебя)


да уж..
еще раз внимательнее посмотри.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Помогите с 1sqlite
Ответ #16 - 07. Апреля 2011 :: 12:55
Печать  
1st писал(а) 07. Апреля 2011 :: 12:38:
А что не так то?
Все один в один как у тебя)

интервал дат наоборот
а то у тебя получается НачДата > КонДаны

Вместо двух запросов нужен один запрос
и вместо left join пиши inner join
Добейся чтобы у тебя запрос заработал без условия на ДокОснование
Потом добавь это условие.
  
Наверх
 
IP записан
 
1st
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 07. Апреля 2011
Re: Помогите с 1sqlite
Ответ #17 - 07. Апреля 2011 :: 13:11
Печать  
Заработало!)))
Огромное спасибо)
Очень довольный
база = СоздатьОбъект("SQLiteBase");
     база.Открыть(":memory:");
     Запрос = база.НовыйЗапрос();
     Запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
     
     ТекстЗапроса = "
     |Select
     |   Реал.iddoc [Док :Документ.Реализация],
     |      Заявка.iddoc [ДокОснование: Документ.ЗаявкаПокупателя]
     |From  [Документ.ЗаявкаПокупателя] Заявка
     |inner join [Журнал] Жур on Жур.iddoc = Заявка.iddoc
     |  and Жур.date between :НачДата and :КонДата
     |inner join [Документ.Реализация] Реал
     |on substr(Реал.ДокОснование,5,9) = Заявка.iddoc
     |";
     
     //СписокДокументов - твой список с документиками
     //база.УложитьОбъекты(СписокДокументов,"СписокДокументов",0);
     Запрос.Подставлять("НачДата",НачДата);
     Запрос.Подставлять("КонДата",КонДата);
     
     ТЗ = запрос.ВыполнитьЗапрос(ТекстЗапроса);
     ТЗ.ВыбратьСтроку();
  
Наверх
 
IP записан
 
1st
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 07. Апреля 2011
Re: Помогите с 1sqlite
Ответ #18 - 07. Апреля 2011 :: 13:12
Печать  
А что это значит и зачем оно нужно?:
Запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
Без этого все отлично тоже работает)
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с 1sqlite
Ответ #19 - 07. Апреля 2011 :: 13:17
Печать  
1st писал(а) 07. Апреля 2011 :: 13:12:
А что это значит и зачем оно нужно?:
Запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
Без этого все отлично тоже работает)


отключает журналирование
http://www.sqlite.org/pragma.html#pragma_journal_mode
  
Наверх
 
IP записан
 
1st
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 07. Апреля 2011
Re: Помогите с 1sqlite
Ответ #20 - 07. Апреля 2011 :: 13:38
Печать  
Без условия работало все отлично.
И с уловием с единичными параметрами тоже все работало зашибись. проблема была в том что когда в список значений пихаешь, значения по ходу как то преобразовывались, или искались как то не так.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать