![]() |
|
|
![]()
|
|
| Лисеночек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Добрый день.
DBF, ADO (ODBC) У меня такая проблема – нужно в ходе работы программы добавить в таблицу поле и потом его удалить. В SQL Monitor все работает. А в программе пишет ошибку на вставку: «Недопустимая операция для таблицы, содержащей данные». Очень надо, помогите, плз, кто может. |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Лисеночек
Код в студию... |
|||
|
||||
| Лисеночек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Код такой:
Короче я окончательно запуталась, что-то изменяла в настройках ADOConnection, в ODBC и теперь перестал работать даже запрос на выборку. Хотя на этапи конструирования работает.... |
|||
|
||||
| Лисеночек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Ситуация поменялась - запрос на выбор уже выполнается, а добавление все никак...
|
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
А какую ошибку дает (сообщение)?
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Лисеночек |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
"cannot open file [путь]\hist_c_p.dbf" новый код COnnectionString:
|
||||
|
|||||
| mspuz |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
У меня тоже проблема с dbf, как раз с модификацией структуры. А у меня встречный вопрос - а разве для dbf'а допустима команда "alter table"? Крутые программеры мне сказали что нет
|
|||
|
||||
| Лисеночек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Т.е. никак нельзя зименить страктуру? Но ведь в SQL Explorer запрос alter... работает... |
|||
|
||||
| mspuz |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Вот что я смог откопать:
Попробуй. Это сообщение отредактировал(а) Girder - 11.8.2005, 13:07 |
|||
|
||||
| Лисеночек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Но ведь ка создаються вычисляемые поля в делфовском DataSet, а мне нужно создать поле в физической таблице |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
На сколько я помню (давно с dbf не работал), SQL Explorer работает через BDE. А BDE и ADO это две большие раницы. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
народ, не морочьте себе головы. MS SQL, например, при изменении структуры таблицы вначале переливает все данные во временную таблицу, затем в пустой меняет структуру, а потом перекачивает данные обратно. И так IMHO происходит везде - с Фокса 2.6 по ORACLE. Именно поэтому нужен монопольный доступ к изменяемой таблице и т.п. Отсюда мораль: если не хочется головной боли - создавать новую таблицу с добавленным полем, в нее перекачивать данные, с ней работать, а затем грохать эту таблицу. Лично я так и делаю. А если надо навсегда изменить структуру - так просто не грохать таблицу, а грохнуть предка, а таблицу переименовать. По-другому все равно не получится. Это если программно, а не ручками.
Сомневающиеся могут попробовать изменить структуру таблицы (например добавить какое-либо поле - к потере данных не ведет) "на ходу" любым подручным средством на любом серваке (может быть кроме InterBase, и то вряд ли, версионность тут IMHO не прокатит). Вопли юзеров гарантирую 2 вариант - посмотреть, что реально происходит при alter table - ну тут зависит от того, чем меняем. В Лисе это отследить было практически невозможно (на небольших таблицах). А сервак честно доложит, если попросить, что он _заменил_ таблицу другой - с другой структурой и перекачанными данными. У меня как-то изменение структуры минуты заняло на совсем даже маленькой табличке (около 1 МБ) - преобразование хитрое было. Лисеночек Вычисляемые поля не хранятся в базе. Датасет сам с ними морочится вплоть до того, что если, например, курсор на клиенте (а как правило так), то у разных клиентов на одной записи могут получиться разные значения вычисляемого поля. Дабы такого не было я напрочь запрещаю 2 клиентам мусолить одну такую запись. Кто ломится 2-м - получает отлуп. mspuz Твои крутые программеры видимо кроме Fox 2.6 ничего не видели. Насчет 3 версии не скажу - уже не помню, но и в 5, и в 6 версии Лиса (а это 1998 год) alter table поддерживается, но ... см. выше. Все точно так же. Т.е. один черт всех надо с таблицы турнуть. И ручками напрограммировать вместо alter table - делов всего ничего. scatter - gather и в дамках |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Пардон, прозевал, что не вошел.
это я. Если у кого по изменению структуры остались вопросы - у меня это регулярно. В Fox 2.6 & 6.0 & MS SQL 7.0&2000. Такой зоопарк. [/size][size=6] Offtopic on А кто-нибудь подскажет, почему в Mozilla меня здесь то автоматом регистрируют, то нет. Есть ли способ стабилизировать это дело? Хожу через proxy. Maxthon автоматом проскакивает как надо. Но он глючит в другом Offtopic off |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |