Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 11
Модератор форума: Peter, DEMBEL, YURIY 
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Работа с базой данных посредством NeoBookDB v2.3d (разные вопросы по теме)
Работа с базой данных посредством NeoBookDB v2.3d
wi1wДата: Пт, 10 Января 2014, 14:32 | Сообщение # 1
Новичок
Здравствуйте.
При создании приложения с базой данных которая будет вмещать в себя порядка 50000 строк, возникла проблема что создаются дубли.
Есть база в которой есть 4 колонки |ИМЯ|КОД|ОПИСАНИЕ|ССЫЛКА|
сравнение должно происходить по коду, он универсальный.
Я создаю файл импорта и загружаю. В первом файле есть Имя и код, во втором Код, описание, ссылка.
Как сделать так чтоб в базу лились только те строки которых нет по коду а те которые есть не удаляло, а добавляло поля которых еще нет в базе.

Спасибо за помощь.
 
СообщениеЗдравствуйте.
При создании приложения с базой данных которая будет вмещать в себя порядка 50000 строк, возникла проблема что создаются дубли.
Есть база в которой есть 4 колонки |ИМЯ|КОД|ОПИСАНИЕ|ССЫЛКА|
сравнение должно происходить по коду, он универсальный.
Я создаю файл импорта и загружаю. В первом файле есть Имя и код, во втором Код, описание, ссылка.
Как сделать так чтоб в базу лились только те строки которых нет по коду а те которые есть не удаляло, а добавляло поля которых еще нет в базе.

Спасибо за помощь.

Автор - wi1w
Дата добавления - 10 Января 2014 в 14:32
mishemДата: Пт, 10 Января 2014, 19:33 | Сообщение # 2
Эксперт форума
wi1w, киньте пример того что вы хотите сделать.

Дело в том что здесь скорее всего придется перебором в самой базе, а можно экспортировать записи в файл, там отсортировать и после импортировать обратно.

Короче так сразу и не ответишь. Однако думать надо. :)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщениеwi1w, киньте пример того что вы хотите сделать.

Дело в том что здесь скорее всего придется перебором в самой базе, а можно экспортировать записи в файл, там отсортировать и после импортировать обратно.

Короче так сразу и не ответишь. Однако думать надо. :)

Автор - mishem
Дата добавления - 10 Января 2014 в 19:33
wi1wДата: Пт, 10 Января 2014, 22:45 | Сообщение # 3
Новичок
Даю исходник всего проекта.
Там есть тестовая база и 2 файла пуб. Весь основной функционал взаимодействия с БД в файле миксер.

Добавлено (10 Января 2014, 22:45)
---------------------------------------------
Импорт данных из CSV в базу с настройкой соотношения номера колонки с колонкой БД.
 
СообщениеДаю исходник всего проекта.
Там есть тестовая база и 2 файла пуб. Весь основной функционал взаимодействия с БД в файле миксер.

Добавлено (10 Января 2014, 22:45)
---------------------------------------------
Импорт данных из CSV в базу с настройкой соотношения номера колонки с колонкой БД.

Автор - wi1w
Дата добавления - 10 Января 2014 в 22:45
mishemДата: Сб, 11 Января 2014, 03:09 | Сообщение # 4
Эксперт форума
Нихрена я из твоего примера не понял. Что б тебе так помогали как примеры делаешь. :D

Забирай в прикреплении если я правильно понял.
Суть думаю поймешь.

Можно еще просто с текстовыми файлами работать. Если база данных не будет отображаться, процедура будет происходить быстрее. ;)
Прикрепления: mixer.zip(4Kb)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеНихрена я из твоего примера не понял. Что б тебе так помогали как примеры делаешь. :D

Забирай в прикреплении если я правильно понял.
Суть думаю поймешь.

Можно еще просто с текстовыми файлами работать. Если база данных не будет отображаться, процедура будет происходить быстрее. ;)

Автор - mishem
Дата добавления - 11 Января 2014 в 03:09
wi1wДата: Сб, 11 Января 2014, 03:45 | Сообщение # 5
Новичок
Спасибо огромное. Увидел решение которое до этого в упор пропускал. Чистка базы хорошая но есть 1 но... Для моего примера необходимо чтоб удалялись те строки где меньше информации. Но это не столь важно.

Важнее всего кнопка Обработать2, в ней нет функции обновления строк. Например есть 1 файл в котором 3 колонки имя, код и описание, а во втором всего 2 код и ссылки. остается вопрос как сделать чтоб поля не пропускались а добавлялись данные в колонку ссылки. и получалась цельная полноценная база.

Добавлено (11 Января 2014, 03:45)
---------------------------------------------
И еще если можно, удалите вложения пожалуйста.

 
СообщениеСпасибо огромное. Увидел решение которое до этого в упор пропускал. Чистка базы хорошая но есть 1 но... Для моего примера необходимо чтоб удалялись те строки где меньше информации. Но это не столь важно.

Важнее всего кнопка Обработать2, в ней нет функции обновления строк. Например есть 1 файл в котором 3 колонки имя, код и описание, а во втором всего 2 код и ссылки. остается вопрос как сделать чтоб поля не пропускались а добавлялись данные в колонку ссылки. и получалась цельная полноценная база.

Добавлено (11 Января 2014, 03:45)
---------------------------------------------
И еще если можно, удалите вложения пожалуйста.


Автор - wi1w
Дата добавления - 11 Января 2014 в 03:45
PeterДата: Сб, 11 Января 2014, 03:55 | Сообщение # 6
Админ NeoBook
Цитата mishem ()
Нихрена я из твоего примера не понял.

Често говоря, я - тоже.
Насколько я сумел плнять из первого сообщения, требуется не просто удаление дубликатов, а объединение полей по коду, т.е. суммирование в одной записи данных из двух записей.
Если так, то
Цитата wi1w ()
как сделать чтоб поля не пропускались а добавлялись данные в колонку ссылки. и получалась цельная полноценная база.

находить дубликаты записей по полю кода, сравнивать содержимое остальных полей на пустоту, и в пустое поле добавлять данные из поля заполненного, затем оставлять ту запись, которая заполнялась, а другую - удалять.

Все бы хорошо, но... обрабатывать:
Цитата wi1w ()
порядка 50000 строк

это... гм... для NB, мягко говоря, длительная процедура.

Добавлено (11 Января 2014, 03:55)
---------------------------------------------
Цитата wi1w ()
удалите вложения пожалуйста.

Удалил.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Нихрена я из твоего примера не понял.

Често говоря, я - тоже.
Насколько я сумел плнять из первого сообщения, требуется не просто удаление дубликатов, а объединение полей по коду, т.е. суммирование в одной записи данных из двух записей.
Если так, то
Цитата wi1w ()
как сделать чтоб поля не пропускались а добавлялись данные в колонку ссылки. и получалась цельная полноценная база.

находить дубликаты записей по полю кода, сравнивать содержимое остальных полей на пустоту, и в пустое поле добавлять данные из поля заполненного, затем оставлять ту запись, которая заполнялась, а другую - удалять.

Все бы хорошо, но... обрабатывать:
Цитата wi1w ()
порядка 50000 строк

это... гм... для NB, мягко говоря, длительная процедура.

Добавлено (11 Января 2014, 03:55)
---------------------------------------------
Цитата wi1w ()
удалите вложения пожалуйста.

Удалил.

Автор - Peter
Дата добавления - 11 Января 2014 в 03:55
mishemДата: Сб, 11 Января 2014, 04:51 | Сообщение # 7
Эксперт форума
Цитата Peter ()
для NB, мягко говоря, длительная процедура.

Да, но можно пойти другим путем. Работать с текстовым файлом а не с базой.
Здесь еще всего не известно что требуется, как и при каких условиях.
Цитата Peter ()
порядка 50000 строк

Проблема не в нб а в мощности компьютера. НБ посредник на сколько я понимаю. И все будет обрабатываться до тех пор пока у компа памяти хватит.
Цитата Peter ()
сравнивать содержимое остальных полей на пустоту,

А если поле не пустое, а просто не достаточно информации? По количеству символов? :D

Тут у него еще много недопонимания. Но ничего, я тоже когда то с базы начинал. :) Самое то для понятия НБ, плагины простые в понимании и хелп хороший. И касаться приходится практически всех возможностей НБ.

Сейчас открыл NeoBookDB, детский лепет по сравнению с NeoBookDBPro. :)
Хотя для общих целей все есть. NeoSoft молодцы конечно.

Цитата Peter ()
для NB, мягко говоря, длительная процедура.

Да и добавлятся то будут как я понимаю не 50000 записей, а партиями. Мож 10, мож 50. А это семечки.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Сб, 11 Января 2014, 04:54
 
Сообщение
Цитата Peter ()
для NB, мягко говоря, длительная процедура.

Да, но можно пойти другим путем. Работать с текстовым файлом а не с базой.
Здесь еще всего не известно что требуется, как и при каких условиях.
Цитата Peter ()
порядка 50000 строк

Проблема не в нб а в мощности компьютера. НБ посредник на сколько я понимаю. И все будет обрабатываться до тех пор пока у компа памяти хватит.
Цитата Peter ()
сравнивать содержимое остальных полей на пустоту,

А если поле не пустое, а просто не достаточно информации? По количеству символов? :D

Тут у него еще много недопонимания. Но ничего, я тоже когда то с базы начинал. :) Самое то для понятия НБ, плагины простые в понимании и хелп хороший. И касаться приходится практически всех возможностей НБ.

Сейчас открыл NeoBookDB, детский лепет по сравнению с NeoBookDBPro. :)
Хотя для общих целей все есть. NeoSoft молодцы конечно.

Цитата Peter ()
для NB, мягко говоря, длительная процедура.

Да и добавлятся то будут как я понимаю не 50000 записей, а партиями. Мож 10, мож 50. А это семечки.

Автор - mishem
Дата добавления - 11 Января 2014 в 04:51
PeterДата: Сб, 11 Января 2014, 05:10 | Сообщение # 8
Админ NeoBook
Цитата mishem ()
Работать с текстовым файлом а не с базой

Боюсь, что это будет ещё "длиннее".
Цитата mishem ()
НБ посредник на сколько я понимаю. И все будет обрабатываться до тех пор пока у компа памяти хватит.

Тут дело скорее не в мощности компа, а в том, как необушный интерпретатор работает с большими объемами данных.
Обрати внимание - у NB скорость обработки данных в цикле существенно, и главное - непропорционально, зависит от количества итераций цикла, т.е. NB заметно быстрее обработает 10 циклов по 100 итераций каждый, чем один в 1000, и чем длиннее будет цикл, тем падение скорости будет больше, и в конце-концов, приложение может просто зависнуть.
Похожая ситуация и со StrParse.
С чем это точно связано трудно судить.

Цитата mishem ()
А если поле не пустое, а просто не достаточно информации?

Цитата wi1w ()
В первом файле есть Имя и код, во втором Код, описание, ссылка.

Цитата mishem ()
Но ничего, я тоже когда то с базы начинал.

Когда-то даже был момент, что приходилось тебя убеждать в полезности использования баз.
:)
Цитата mishem ()
а партиями. Мож 10, мож 50. А это семечки.

Если так, то да.

А в общем:
Цитата mishem ()
Тут у него еще много недопонимания.

тоже верно.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Работать с текстовым файлом а не с базой

Боюсь, что это будет ещё "длиннее".
Цитата mishem ()
НБ посредник на сколько я понимаю. И все будет обрабатываться до тех пор пока у компа памяти хватит.

Тут дело скорее не в мощности компа, а в том, как необушный интерпретатор работает с большими объемами данных.
Обрати внимание - у NB скорость обработки данных в цикле существенно, и главное - непропорционально, зависит от количества итераций цикла, т.е. NB заметно быстрее обработает 10 циклов по 100 итераций каждый, чем один в 1000, и чем длиннее будет цикл, тем падение скорости будет больше, и в конце-концов, приложение может просто зависнуть.
Похожая ситуация и со StrParse.
С чем это точно связано трудно судить.

Цитата mishem ()
А если поле не пустое, а просто не достаточно информации?

Цитата wi1w ()
В первом файле есть Имя и код, во втором Код, описание, ссылка.

Цитата mishem ()
Но ничего, я тоже когда то с базы начинал.

Когда-то даже был момент, что приходилось тебя убеждать в полезности использования баз.
:)
Цитата mishem ()
а партиями. Мож 10, мож 50. А это семечки.

Если так, то да.

А в общем:
Цитата mishem ()
Тут у него еще много недопонимания.

тоже верно.

Автор - Peter
Дата добавления - 11 Января 2014 в 05:10
wi1wДата: Вс, 12 Января 2014, 00:25 | Сообщение # 9
Новичок
Совсем не выходит удаление дублей с базы.
страница Database -> Pushbutton14 (левый нижний угол)

Добавлено (12 Января 2014, 00:25)
---------------------------------------------
Решение нужно уже сегодня.
Очень прошу помочь. Спасибо огромное.
 
СообщениеСовсем не выходит удаление дублей с базы.
страница Database -> Pushbutton14 (левый нижний угол)

Добавлено (12 Января 2014, 00:25)
---------------------------------------------
Решение нужно уже сегодня.
Очень прошу помочь. Спасибо огромное.

Автор - wi1w
Дата добавления - 12 Января 2014 в 00:25
PeterДата: Вс, 12 Января 2014, 01:17 | Сообщение # 10
Админ NeoBook
Цитата wi1w ()
Совсем не выходит удаление дублей с базы.

wi1w, к сожалению, как и было упомянуто, разобраться в вашем исходнике проблематично.
В то же время, беглый осмотр кода указанной кнопки (кстати, она в ПРАВОМ углу, а не в левом) вызывает такие соображения:
сначала вы получаете число записей в базе:
Код
dbfGetRecordCount "[PubDir]prices.dbf" "[Result]"
.dbfShowErrors "False"

затем запускаете цикл по количеству записей:
Код
Loop "1" "[Result]" "[i]"
dbfQuery "[PubDir]prices.dbf" "kod==[i]"
If "[dbfQueryResult]" ">" "1"

Обратите внимание: в переменной [dbfQueryResult] содержатся не позиции, а общее количество найденных записей
Код
Loop "1" "[dbfQueryResult]-1" "[J]"

вот здесь, перед удалением записи, требуется перейти на эту запись, т.е. сделать запись текущей, потому-что команда:
Код
dbfDeleteRecord "[PubDir]prices.dbf"

удаляет текущую активную запись

Я бы вообще использовал dbfFind и dbfFindNext без применения вложенного цикла, так проще - открыл базу, пробежался по ней "насквозь", поудалял соответствующие записи, и закрыл.

Что-нибудь в таком духе:

Код
DefineVar "[Counter]" "Integer" "Local" "0"
dbfFind "Base" "kod" "Вася"
dbfGetRecordNumber "Base" "[Counter]"
While "[Counter]" ">" "0"
     dbfDeleteRecord "Base"
     SetVar "[Counter]" "0"
     dbfFindNext "Base"
     dbfGetRecordNumber "Base" "[Counter]"
EndWhile


Код написан из башки, без проверки, точно не помню что возвращает dbfGetRecordNumber, если ничего не найдено, проверять надо.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата wi1w ()
Совсем не выходит удаление дублей с базы.

wi1w, к сожалению, как и было упомянуто, разобраться в вашем исходнике проблематично.
В то же время, беглый осмотр кода указанной кнопки (кстати, она в ПРАВОМ углу, а не в левом) вызывает такие соображения:
сначала вы получаете число записей в базе:
Код
dbfGetRecordCount "[PubDir]prices.dbf" "[Result]"
.dbfShowErrors "False"

затем запускаете цикл по количеству записей:
Код
Loop "1" "[Result]" "[i]"
dbfQuery "[PubDir]prices.dbf" "kod==[i]"
If "[dbfQueryResult]" ">" "1"

Обратите внимание: в переменной [dbfQueryResult] содержатся не позиции, а общее количество найденных записей
Код
Loop "1" "[dbfQueryResult]-1" "[J]"

вот здесь, перед удалением записи, требуется перейти на эту запись, т.е. сделать запись текущей, потому-что команда:
Код
dbfDeleteRecord "[PubDir]prices.dbf"

удаляет текущую активную запись

Я бы вообще использовал dbfFind и dbfFindNext без применения вложенного цикла, так проще - открыл базу, пробежался по ней "насквозь", поудалял соответствующие записи, и закрыл.

Что-нибудь в таком духе:

Код
DefineVar "[Counter]" "Integer" "Local" "0"
dbfFind "Base" "kod" "Вася"
dbfGetRecordNumber "Base" "[Counter]"
While "[Counter]" ">" "0"
     dbfDeleteRecord "Base"
     SetVar "[Counter]" "0"
     dbfFindNext "Base"
     dbfGetRecordNumber "Base" "[Counter]"
EndWhile


Код написан из башки, без проверки, точно не помню что возвращает dbfGetRecordNumber, если ничего не найдено, проверять надо.

Автор - Peter
Дата добавления - 12 Января 2014 в 01:17
mishemДата: Вс, 12 Января 2014, 15:04 | Сообщение # 11
Эксперт форума
Цитата wi1w ()
Решение нужно уже сегодня.

Тогда тебе лучше бросить уже сегодня.
Так как работы на то что ты задумал может уйти не один месяц. ;)

По поводу помочь, уже все написано. Даже больше чем надо. Осталось только понять.


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

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



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

Тогда тебе лучше бросить уже сегодня.
Так как работы на то что ты задумал может уйти не один месяц. ;)

По поводу помочь, уже все написано. Даже больше чем надо. Осталось только понять.

Автор - mishem
Дата добавления - 12 Января 2014 в 15:04
wi1wДата: Вс, 12 Января 2014, 16:40 | Сообщение # 12
Новичок
Цитата
затем запускаете цикл по количеству записей:
Loop "1" "[Result]" "[i]"
dbfQuery "[PubDir]prices.dbf" "kod==[i]"
If "[dbfQueryResult]" ">" "1"


Тут то и возникает ошибка что неверный синтаксис Query

Добавлено (12 Января 2014, 16:40)
---------------------------------------------

Цитата mishem ()
Тогда тебе лучше бросить уже сегодня


Я имелл ввиду что дубли уже сегодня нужно удалить, а на весь проект у меня много времени.
 
Сообщение
Цитата
затем запускаете цикл по количеству записей:
Loop "1" "[Result]" "[i]"
dbfQuery "[PubDir]prices.dbf" "kod==[i]"
If "[dbfQueryResult]" ">" "1"


Тут то и возникает ошибка что неверный синтаксис Query

Добавлено (12 Января 2014, 16:40)
---------------------------------------------

Цитата mishem ()
Тогда тебе лучше бросить уже сегодня


Я имелл ввиду что дубли уже сегодня нужно удалить, а на весь проект у меня много времени.

Автор - wi1w
Дата добавления - 12 Января 2014 в 16:40
PeterДата: Вс, 12 Января 2014, 17:03 | Сообщение # 13
Админ NeoBook
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query

Что зеачит неверный?
Вы же сами составляете условие запроса.
Воспользуйтесь отладчиком в пошаговом режиме для обнаружения ошибки, это - самый надежный вариант.

Нужные подсказки вам уже были дадены, остальное - за вами.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query

Что зеачит неверный?
Вы же сами составляете условие запроса.
Воспользуйтесь отладчиком в пошаговом режиме для обнаружения ошибки, это - самый надежный вариант.

Нужные подсказки вам уже были дадены, остальное - за вами.

Автор - Peter
Дата добавления - 12 Января 2014 в 17:03
СергейДата: Вс, 12 Января 2014, 18:00 | Сообщение # 14
Необукер
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query
кавычки?! проверь тип поля, если он имеет тип - текст, то будет ошибка, т.к. ты передаешь тип - число.
По моему я не работал с плагином dbfХХХ, но дкмаю что всетаки там тоже есть типы, а в sql-запросах это надо учитывать.
Кстати а он поддерживает чистые sql-запросы?!
 
Сообщение
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query
кавычки?! проверь тип поля, если он имеет тип - текст, то будет ошибка, т.к. ты передаешь тип - число.
По моему я не работал с плагином dbfХХХ, но дкмаю что всетаки там тоже есть типы, а в sql-запросах это надо учитывать.
Кстати а он поддерживает чистые sql-запросы?!

Автор - Сергей
Дата добавления - 12 Января 2014 в 18:00
mishemДата: Вс, 12 Января 2014, 18:53 | Сообщение # 15
Эксперт форума
Цитата Сергей ()
Кстати а он поддерживает чистые sql-запросы?!

По моему нет, но точно не уверен. Не пробовал.
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query

Значит не верный синтаксис.В моем примере свои поля, у тебя свои. Здесь просто скопировать пример не получится, надо еще понять и подставить свои значения.

kod==[i]

В моем случае поле с именем kod должно точно совпадать со сравниваемым == именно это обозночает.
Почитай справку по поиску. Благо она есть на русском.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Сергей ()
Кстати а он поддерживает чистые sql-запросы?!

По моему нет, но точно не уверен. Не пробовал.
Цитата wi1w ()
Тут то и возникает ошибка что неверный синтаксис Query

Значит не верный синтаксис.В моем примере свои поля, у тебя свои. Здесь просто скопировать пример не получится, надо еще понять и подставить свои значения.

kod==[i]

В моем случае поле с именем kod должно точно совпадать со сравниваемым == именно это обозночает.
Почитай справку по поиску. Благо она есть на русском.

Автор - mishem
Дата добавления - 12 Января 2014 в 18:53
wi1wДата: Вс, 12 Января 2014, 19:56 | Сообщение # 16
Новичок
Я решил єтот вопрос. Спасибо.
Ключом к пониманию послужило
Цитата Peter ()
Обратите внимание: в переменной [dbfQueryResult] содержатся не позиции, а общее количество найденных записей
Loop "1" "[dbfQueryResult]-1" "[J]"



Все дело в том что в примере mishem, поля код были идентичны номеру записи в БД
У меня же поле с номером "1" имеет запись примерно такую "543285"

Правильным решением в моем случае служит инструкция типа

dbfQuery "[PubDir]prices.dbf" "KOD==[prices.KOD]"
If "[dbfQueryResult]" ">" "1"

В данном случае идет сравнение записи в ячейке с переменной содержащей искомое значение.
Всем огромное спасибо за подсказки и наставления.

Опять прошу удалить вложения. Спасибо
 
СообщениеЯ решил єтот вопрос. Спасибо.
Ключом к пониманию послужило
Цитата Peter ()
Обратите внимание: в переменной [dbfQueryResult] содержатся не позиции, а общее количество найденных записей
Loop "1" "[dbfQueryResult]-1" "[J]"



Все дело в том что в примере mishem, поля код были идентичны номеру записи в БД
У меня же поле с номером "1" имеет запись примерно такую "543285"

Правильным решением в моем случае служит инструкция типа

dbfQuery "[PubDir]prices.dbf" "KOD==[prices.KOD]"
If "[dbfQueryResult]" ">" "1"

В данном случае идет сравнение записи в ячейке с переменной содержащей искомое значение.
Всем огромное спасибо за подсказки и наставления.

Опять прошу удалить вложения. Спасибо

Автор - wi1w
Дата добавления - 12 Января 2014 в 19:56
PeterДата: Вс, 12 Января 2014, 21:23 | Сообщение # 17
Админ NeoBook
Цитата wi1w ()
в примере mishem, поля код были идентичны номеру записи в БД
У меня же

Примите за правило: никогда не применять вслепую чужой код. На форуме предлагаемый код, большей частью, лишь показывает возможное направление (идею) , а не готовое решение.
Цитата wi1w ()
удалить вложения

ОК.
Цитата mishem ()
По моему нет, но точно не уверен. Не пробовал

Нет, не может.
Да и что касаемо типа полей...
В NB это достаточно условно, т.к. в принципе NB работает только с одним типом данных - String, остальные типы для NB просто игра слов. А разбиение полей по типам сделано только из соображений совместимости баз с другими приложениями.



- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата wi1w ()
в примере mishem, поля код были идентичны номеру записи в БД
У меня же

Примите за правило: никогда не применять вслепую чужой код. На форуме предлагаемый код, большей частью, лишь показывает возможное направление (идею) , а не готовое решение.
Цитата wi1w ()
удалить вложения

ОК.
Цитата mishem ()
По моему нет, но точно не уверен. Не пробовал

Нет, не может.
Да и что касаемо типа полей...
В NB это достаточно условно, т.к. в принципе NB работает только с одним типом данных - String, остальные типы для NB просто игра слов. А разбиение полей по типам сделано только из соображений совместимости баз с другими приложениями.


Автор - Peter
Дата добавления - 12 Января 2014 в 21:23
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Работа с базой данных посредством NeoBookDB v2.3d (разные вопросы по теме)
Страница 1 из 11
Поиск: