![]() |
|
|
![]()
|
|
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
В гугле нашел примеры только под vb, net и делфи. С базами никогда до этого не сталкивался. Где есть инфа по описанию, как работать с ADO? Какой день уже с ним морочаюсь.
Почитал здесь, оказывается, для чтения, записи, модификации нужно различные параметры прописывать. из компоентов кинул: ADOConnection, ADOQuery для примера база: отдельный дбф на пару полей id - автоинкрементное, name, fam - строковые. нужно читать-писать-модифицировать, + возможность изменять путь к дбф (из меню в самой проге). |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Лови пример...
Он тоже на делфи.. по сути все точки на стрелочки поменять надо... а остальные методы описаны... задавай вопросы по ним... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
И в чём разница с Билдером? С dbf сиё возможно только запросами, т.е. AdoTable.Edit....AdoTable.Post не прокатит. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
поймал, но...
мне друг как-то код набросал:
только через драйвер джетовский под аксесс работал. Я сделал также, но под vfp-драйвер - не работает. Так каким образом можно с рботать с dbf? |
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Я же говорю - запросами. Update, Insert. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
||||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Угу.
В данном случае удобнее было бы использовать AdoTable для отображения данных таблицы. А так - ну да, вторую кверю заюзай. Это сообщение отредактировал(а) Данкинг - 12.1.2009, 12:31 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
если ты про Add all fields, то без зпаписи селекта в sql ADOConnection'а выводится сообщение об ошибки проперти sql... Ладно, буду на каждый запрос свою квери делать со своей sql. Тогда: 1. В чем разница, если писать запрос в проперть или в коде, как у Rodman'a? Ты говорил, что с dbf'ами нужно запросами. Получается, такое разнообразие потому, что ADO - компонент для работы с различными бд, из-за его универсальности? 2. Как в sql-коде указать переменную программы, которую нужно записать? |
|||
|
||||
| Данкинг |
|
||||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А как там у него? Пример качать неохота.
Через параметры логичней всего.
Это сообщение отредактировал(а) Данкинг - 12.1.2009, 23:06 -------------------- There's nothing left but silent epitaphs. |
||||||
|
|||||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Вот, такой код у него. Попробовал - в таблицу ничего не добавляется:
Таблица Main.dbf; Поля: id (автоинк), Name (чар), Fam(чар). Компоненты: ADOConnection (тест подключения проходит), ADOQuery (в проперти параметры видт названия полей; проперть SQL пустая). Смотрю через фокс. -------------- в проперти параметров квери названия полей пропали. можно добавить только цифры: 0, 1,2, ... Это сообщение отредактировал(а) Gunslinger - 13.1.2009, 11:33 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А ADOQuery1->ExecSQL сделал, надеюсь? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Неа
В проперти параметерс квери создал две переменные с именами Name и Fam - те поля таблицы, куда запись будет. Первый раз строка добавилась, на второй раз вылезла ошибка: Неправильно определен объект Parameter. Предоставлены несовместимые типы или неполные сведения. Это сообщение отредактировал(а) Gunslinger - 14.1.2009, 09:38 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А зачем в проперти смамой квери что-то писать? Достаточно параметры указать в самом коде, т.е. как в примере. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
||||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Не знаю тогда, я всё так же пишу, и работает. Попробуй на самом фоксе те же данные ввести. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
с фокса нормально вводятся. Если бы вообще не вставлялось, а тут один раз делает инсерт - и все, дальше ошибка. Раз работает, скорее всего я настройки компонентов неправильно сделал... Либо с драйвером проблема, но не думаю. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А строка подключения какая?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Привет! Строка подключения:
Из компонентов на форме: ADOConnection, ADOQuery. Выставил в проперти ADOConnection Connected=true, проперть Mode выставилась в: cmShareDenyNone Это сообщение отредактировал(а) Gunslinger - 15.1.2009, 09:15 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
У меня строка подключения всегда короче, типа такой:
'Provider=VFPOLEDB.1;Data Source=D:\MY_PROGRAM;Password="";Collating Sequence=MACHINE' Кстати, пробелов в пути к таблице нет? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
нет. Попробовал твою строку сокращенную - та же песня. Привязался к этому Parameter... Ты в кверях какие свойства настраиваешь (если запрос не в проперти, а в коде)? Вообще "критические" настройки у этих компонентов (кроме строки подключения) есть? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Ничего не настраиваю кроме привязки к AdoConnection... Ну а если в самом запросе вместо параметров написать "aaaa", "bbbb", будет работать?! -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Gunslinger |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Сюда я помещал листинг без закомментированной строки
, а в коде так:
Извини за шухер. Зачем нужен Close()? Это если в связке с Open() - сначала сформировал запрос, затем только открыл соединение? Теперь про select, delete, update. По прмеру кода Родмана:
Ошибки не выдает, но и не удаляет. Сделал через квери1 - так же. |
||||||
|
|||||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Variable 'NAME' is not found. |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
NAME - это зареганное слово
|
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
опять про Name кричит. Сменил условие на второе поле, благо табличка тестовая.
Теперь молчит, но не удаляет, хотя в табличке таких записей есть. Name - зарегина ADO? В пропертях квери кроме строки подключения к ADOConnection больше ничего указывать не нужно? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Я про это подумал, но не сказал, поскольку фокс и так работает обычно. По поводу delete: ведь на фоксе "delete from..." только помечает на удаление, а для физического удаления нужно ввести команду "pack". А вот как это сделать запросом через ADO - я так и не выяснил. Чтобы кверя была закрыта, пока ты с ней что-то там делаешь. Добавлено через 3 минуты и 32 секунды Сколько я с фоксом работаю - проблем с полем NAME никогда не возникало... Это сообщение отредактировал(а) Данкинг - 21.1.2009, 11:49 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |