Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по NeoBookDBPro (Проблема с dbpQuery)
Вопрос по NeoBookDBPro
Dark_LordДата: Вт, 08 Мая 2012, 05:47 | Сообщение # 1
Прохожий
Добрый день.
Подскажите пожалуйста в чём проблема:
Цель: поиск по БД по мере ввода с выводом получившейся таблицы.
В прикреплённом архиве две папки. В первой фрагмент кода, где я использовал плагин NeoBookDB 2.3d. Всё работает замечательно (попробуйте вводить что либо в поле ввода и если в содержимом базы будут совпадения с тем, что Вы вводите, срабатывает фильтр, оставляя в таблице только эти записи).
При попытке использовать NeoBookDBPro - никак не могу добиться этого же (пример во второй папке).
Долго курил мануал по NeoBookDBPro, всё вроде так, а работать не хочет.
И ведь чую, что наверняка "ларчик просто открывается", но как именно пока не понял...
Прикрепления: NB_Fragment.rar (12.0 Kb)
 
СообщениеДобрый день.
Подскажите пожалуйста в чём проблема:
Цель: поиск по БД по мере ввода с выводом получившейся таблицы.
В прикреплённом архиве две папки. В первой фрагмент кода, где я использовал плагин NeoBookDB 2.3d. Всё работает замечательно (попробуйте вводить что либо в поле ввода и если в содержимом базы будут совпадения с тем, что Вы вводите, срабатывает фильтр, оставляя в таблице только эти записи).
При попытке использовать NeoBookDBPro - никак не могу добиться этого же (пример во второй папке).
Долго курил мануал по NeoBookDBPro, всё вроде так, а работать не хочет.
И ведь чую, что наверняка "ларчик просто открывается", но как именно пока не понял...

Автор - Dark_Lord
Дата добавления - 08 Мая 2012 в 05:47
СергейДата: Вт, 08 Мая 2012, 08:55 | Сообщение # 2
Необукер
Добрый...
Долго, но слабовато курили мануал :)
Этот код вообще не будет работать! ДБ даже ошибку генерирует и пишет об этом.
Code
dbpQuery "GenBase" "BaseTable" "[GenBase.BaseTable.Tovarname] LIKE [#34][Find][#34]"

Не надо указывать переменную БД , т.к. НБ введет не имя ячейки, а ее содержание!
Надо ввести просто имя ячейки "TovarName". Не забывай про подстановочный знак "%"
Quote
dbpQuery "GenBase" "BaseTable" "TovarName LIKE [#34][Find]%[#34]"


Сообщение отредактировано
Сергей - Вт, 08 Мая 2012, 09:10
 
СообщениеДобрый...
Долго, но слабовато курили мануал :)
Этот код вообще не будет работать! ДБ даже ошибку генерирует и пишет об этом.
Code
dbpQuery "GenBase" "BaseTable" "[GenBase.BaseTable.Tovarname] LIKE [#34][Find][#34]"

Не надо указывать переменную БД , т.к. НБ введет не имя ячейки, а ее содержание!
Надо ввести просто имя ячейки "TovarName". Не забывай про подстановочный знак "%"
Quote
dbpQuery "GenBase" "BaseTable" "TovarName LIKE [#34][Find]%[#34]"

Автор - Сергей
Дата добавления - 08 Мая 2012 в 08:55
Dark_LordДата: Вт, 08 Мая 2012, 13:35 | Сообщение # 3
Прохожий
Сергей,
Огромное спасибо за такую шикарную подсказку!

redface Действительно, моя невнимательность: почему-то упорно думал, что в приведённых в хелпе примерах подразумевается имя переменной БД, присвоенное переменной. Даже и не подумал, что всё так просто!

Ещё раз огромное спасибо за ответ. Вопрос решён. thumbs_up
 
СообщениеСергей,
Огромное спасибо за такую шикарную подсказку!

redface Действительно, моя невнимательность: почему-то упорно думал, что в приведённых в хелпе примерах подразумевается имя переменной БД, присвоенное переменной. Даже и не подумал, что всё так просто!

Ещё раз огромное спасибо за ответ. Вопрос решён. thumbs_up

Автор - Dark_Lord
Дата добавления - 08 Мая 2012 в 13:35
ВадимДата: Вт, 08 Мая 2012, 13:47 | Сообщение # 4
Генератор идей
Dark_Lord, Вы можете также посмотреть проект NeoCommands, в котором реализован поиск по базе по мере набора.

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеDark_Lord, Вы можете также посмотреть проект NeoCommands, в котором реализован поиск по базе по мере набора.

Автор - Вадим
Дата добавления - 08 Мая 2012 в 13:47
LectorДата: Сб, 20 Августа 2016, 14:18 | Сообщение # 5
Ветеран форума
Добрый день!
Возникла сложность при работе с командой dbpQuery.
Если мы выполняем следующую команду:
Код
dbpQuery "Words" "Words" "L1 = [#34]Т[#34] AND L3 = [#34]П[#34]"

Все работает прекрасно!
Но если фильтр заменим переменной, содержащей параметры запроса:
Код
SetVar "[zapros]" "L1 = [#91]#34[#93]Т[#91]#34[#93] AND L3 = [#91]#34[#93]П[#91]#34[#93]"
dbpQuery "Words" "Words" "[zapros]"

Деббагер сообщает об ошибке синтаксиса (пропушен оператор, т.е. знак "=").

В чем ошибка?
Прикрепления: 6064033.jpg (16.2 Kb)
 
СообщениеДобрый день!
Возникла сложность при работе с командой dbpQuery.
Если мы выполняем следующую команду:
Код
dbpQuery "Words" "Words" "L1 = [#34]Т[#34] AND L3 = [#34]П[#34]"

Все работает прекрасно!
Но если фильтр заменим переменной, содержащей параметры запроса:
Код
SetVar "[zapros]" "L1 = [#91]#34[#93]Т[#91]#34[#93] AND L3 = [#91]#34[#93]П[#91]#34[#93]"
dbpQuery "Words" "Words" "[zapros]"

Деббагер сообщает об ошибке синтаксиса (пропушен оператор, т.е. знак "=").

В чем ошибка?

Автор - Lector
Дата добавления - 20 Августа 2016 в 14:18
mishemДата: Сб, 20 Августа 2016, 15:12 | Сообщение # 6
Эксперт форума
Цитата Lector ()
(пропушен оператор, т.е. знак "=").

Скорей всего не =
Этой информации мало. Что в переменных находится?
Если есть пробелы, будет ошибка. Нужно смотреть на конечную строку.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Lector ()
(пропушен оператор, т.е. знак "=").

Скорей всего не =
Этой информации мало. Что в переменных находится?
Если есть пробелы, будет ошибка. Нужно смотреть на конечную строку.

Автор - mishem
Дата добавления - 20 Августа 2016 в 15:12
LectorДата: Сб, 20 Августа 2016, 15:48 | Сообщение # 7
Ветеран форума
Цитата mishem ()
Скорей всего не =


Но ведь другого оператора нет. Смысл в том, что если в команде dbpQuery указаны параметры запроса в фильтре, то запрос работает, но если параметры запроса помещаем в переменную, а переменную в фильтр команды dbpQuery, то запрос не работает и появляется указанная выше ошибка.

Добавлено (20 Августа 2016, 15:48)
---------------------------------------------
Кстати, если все это проделать с использованием плагина NeoBookDB v2.3d, то все работает.


Сообщение отредактировано
Lector - Сб, 20 Августа 2016, 15:49
 
Сообщение
Цитата mishem ()
Скорей всего не =


Но ведь другого оператора нет. Смысл в том, что если в команде dbpQuery указаны параметры запроса в фильтре, то запрос работает, но если параметры запроса помещаем в переменную, а переменную в фильтр команды dbpQuery, то запрос не работает и появляется указанная выше ошибка.

Добавлено (20 Августа 2016, 15:48)
---------------------------------------------
Кстати, если все это проделать с использованием плагина NeoBookDB v2.3d, то все работает.

Автор - Lector
Дата добавления - 20 Августа 2016 в 15:48
mishemДата: Сб, 20 Августа 2016, 17:53 | Сообщение # 8
Эксперт форума
Цитата Lector ()
Но ведь другого оператора нет.

Дело не в этом. Смотри.... Правда я на вскидку, предположительно... Если сам не разберешься то придется создавать проект (что не хочется, много телеодвижений делать надо, или сам что то простенькое кинь что б понятнее было)
Так вот смотри.

L1 = мама AND L3 = папа
здесь все правильно

L1 = мама и брат AND L3 = папа
плагин после мама будет искать оператор
То есть что именно находится в переменных? Тип переменной по моему тоже играет роль(точно не помню)
Текст с пробелами на сколько мне память не изменяет должен заключаться в кавычки. и т.д.

Нужно понять (а я этого не знаю) что находится в переменной.

Сделай скромненький пример что б все это было наглядно. Думаю даже если начнешь делать пример, все встанет на свои места. а мож и не все так просто как я думаю..

Добавлено (20 Августа 2016, 17:46)
---------------------------------------------
Стоп, я не в ту сторону смотрю. Понял вопрос. Пардон.

Добавлено (20 Августа 2016, 17:48)
---------------------------------------------
Попробуй так:

Код
SetVar "[zapros]" "L1 = [#91]#34[#93]Т[#91]#34[#93] AND L3 = [#91]#34[#93]П[#91]#34[#93]"
PopulateStr "[zapros]" "[zapros]"

;)

Добавлено (20 Августа 2016, 17:53)
---------------------------------------------
Просто в плагине разбор строки происходит видимо как то по другому.
При определении первой квадратной скобки плагин понимает что это переменная но только на первом уровне.
То есть такую переменную [#34] он понимает как "
А такую [#91]#34[#93] он понимает как [#34], то есть дальше уже полученную переменную не обрабатывает, а читает как текст [#34]


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Lector ()
Но ведь другого оператора нет.

Дело не в этом. Смотри.... Правда я на вскидку, предположительно... Если сам не разберешься то придется создавать проект (что не хочется, много телеодвижений делать надо, или сам что то простенькое кинь что б понятнее было)
Так вот смотри.

L1 = мама AND L3 = папа
здесь все правильно

L1 = мама и брат AND L3 = папа
плагин после мама будет искать оператор
То есть что именно находится в переменных? Тип переменной по моему тоже играет роль(точно не помню)
Текст с пробелами на сколько мне память не изменяет должен заключаться в кавычки. и т.д.

Нужно понять (а я этого не знаю) что находится в переменной.

Сделай скромненький пример что б все это было наглядно. Думаю даже если начнешь делать пример, все встанет на свои места. а мож и не все так просто как я думаю..

Добавлено (20 Августа 2016, 17:46)
---------------------------------------------
Стоп, я не в ту сторону смотрю. Понял вопрос. Пардон.

Добавлено (20 Августа 2016, 17:48)
---------------------------------------------
Попробуй так:

Код
SetVar "[zapros]" "L1 = [#91]#34[#93]Т[#91]#34[#93] AND L3 = [#91]#34[#93]П[#91]#34[#93]"
PopulateStr "[zapros]" "[zapros]"

;)

Добавлено (20 Августа 2016, 17:53)
---------------------------------------------
Просто в плагине разбор строки происходит видимо как то по другому.
При определении первой квадратной скобки плагин понимает что это переменная но только на первом уровне.
То есть такую переменную [#34] он понимает как "
А такую [#91]#34[#93] он понимает как [#34], то есть дальше уже полученную переменную не обрабатывает, а читает как текст [#34]


Автор - mishem
Дата добавления - 20 Августа 2016 в 17:53
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по NeoBookDBPro (Проблема с dbpQuery)
  • Страница 1 из 1
  • 1
Поиск: