![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Varyen |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Всем здравствуйте!
![]() В-общем задание такое, составить программу на Билдер С++ которая будет работать с 4-мя таблицами (Приходный кассовый ордер, Информация о плательщиках, Информация о предприятиях, Бухгалтерские счета). Использовать необходимо dBase, желательно по ADO-технологии. При построении соединения через ADOConnection выбираю Microsoft OLE DB Provider for ODBC Drivers как поставщика, далее когда делаю connection string выбираю Microsoft dBase Driver, кажется так называется. И тут вот проблема возникла (причем боюсь возникнет ещё немеряно, при необходимости в этой же теме буду спрашивать совета) -
Не работает корректно - строка удаляется, но при повторном запуске программы все становится как было до удаления! Открывал таблицу через Database Desktop - строки удалены, но! В режиме редактирования в Десктопе порядковый номер строки ставится неправильно - если вся таблица пуста, он может например поставить №11, в зависимости от того сколько строк было до удаления в программном режиме. Помогает только Empty. Ещё одна проблема - при запуске проекта вылетает несколько ошибок с указанием на
сама ошибка собственно: Could not convert variant of type (Null) into type (String). с чем может быть связано? в таблице есть пустые ячейки, но это так и должно быть, что можно сделать чтобы ошибок этих не было? Очень прошу помочь, сроки сильно поджимают. Заранее благодарен за любую помощь. |
||||||
|
|||||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Таким образом ты из .dbf строку не удалишь. Как именно удалять - не знаю, но .Delete просто помечает строку на удаление.
Может быть, таблица не открыта или пустая? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Спасибо за подсказку, только вот узнать бы у кого-нить как всетаки удалять...
Открыта имеете ввиду ADOTable->Active = true? это имеется... Но есть пустые ячейки. При запуске ехе-шника этих ошибок нет. Это сообщение отредактировал(а) Varyen - 20.12.2009, 21:39 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Есть компонент TDbf, но, насколько я знаю, на Билдер он встаёт криво, если вообще встаёт (т.е. он для Дельфи предназначен). У меня на Билдере в BDS 2006 он глючит, т.е. работать невозможно. Просто ->First не может выдавать подобной ошибки. Это же просто переход в начало. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Просто дело в том, что из-за этой неполадки с удалением сплошные ошибки идут в ходе редактирования строк, добавления новых...
Но спасибо и на этом ![]() |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Так и не нашел пока нигде как же в Билдере удалить строку из dBase.... Очень надеюсь что тут кто-нибудь знает
![]() И по поводу ошибки этой, если у кого было отпишите пожалуйста, как можно избавиться. |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
Когда-то в пыхе использовал DBase. Там после удаления записи нужно было делать что-то вроде sync'а, т.е. синхронизировать текущее программное представление таблицы с файлом. Тут вероятно то же самое. Посмотрите по списку API этой БД что-нибудь похожее.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
Varyen |
|
||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Перевел все под BDE, стало лучше
![]() только теперь вот с чем проблема, в ADOQuery сделал запрос
в простом Query жалуется на все что не лень, даже букву "ч" воспринимать не хочет...
и вот на эту самую важну строчку в запросе жалуется... может кто подсказать, что не так?) смысл в том, что есть таблица по приходно-кассовым ордерам и плательщикам, причем плательщики как юр. так и физ. лица, т.е. у кого-то заполнено поле TABEL и PAYER_NAME, у кого-то INN и COMP_NAME, а в запросе надо PAYER_NAME и COMP_NAME вписать в одно поле. Это сообщение отредактировал(а) Varyen - 25.12.2009, 17:52 |
||||
|
|||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
вобщем если в эту тему ещё кто-то заглядывает...проект подходит к концу, но тут такая проблема неизвестно из-за чего: запрос по фильтрации по дате не обрабатывается, пишет parameter d_from not found.
извиняюсь если вопрос тупой, но мне как новичку не видно причины неработоспособности ![]() Это сообщение отредактировал(а) Varyen - 27.12.2009, 00:55 |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Попробовал на дату по-другому написать текст запроса:
пишет что не распознает .09 , в этом роде |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Какой StrToDate может быть в строке? Query1->SQL-> - это строка, а не дата.
Добавлено через 2 минуты и 35 секунд К тому же в .dbf дата обозначается так: {^2009-12-25} -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Спасибо! Посоветуйте тогда пожалуйста, как можно сделать в моем случае запрос по дате, чтобы выбирать строки от ... и до...?
Без StrToDate тоже не работало, потому и решил попробовать дописать... Это сообщение отредактировал(а) Varyen - 28.12.2009, 00:25 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Конечно, пробовать я такую страсть не буду, пишу здесь:
![]()
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Varyen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
Неа, на слово Between жалуется :(
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Может, перед (Between скобку убрать всё же?
Вообще в общем случае на самом фоксе вот такой запрос работает:
(ddd - это поле типа DATA) -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |