Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как добавить поля в DBF таблицу

32K
30 мая 2008 года
fredie
7 / / 23.12.2007
Нужно добавить 2 поля в уже существующую таблицу. Пытался сделать это запросом (ALTER TABLE) но оказалось, что таблица не поддерживает эту команду. Что посоветуете?

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

Спасибо.
1
31 мая 2008 года
kot_
7.3K / / 20.01.2000
Цитата: fredie
Нужно добавить 2 поля в уже существующую таблицу. Пытался сделать это запросом (ALTER TABLE) но оказалось, что таблица не поддерживает эту команду. Что посоветуете?

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

Спасибо.


Вопрос то о чем? Если вы знаете команду ALTER TABLE - то удивительно что вы не знаете команды INSERT INTO newtable (*) SELECT... :) - разве она не поддерживаеться? Самы простой способ скопировать все записи.
Кроме того - что общего у этого вопроса с С++ или шарпом? Зачем его помещать в теме которая никаким боком к ней не относиться?

[COLOR="Red"]Кроме того - наши ньюбы попрежнему пребывают в твердой уверенности - те кто отвечает на форуме - несомнено относяться к движению ньюэйдж или прочих сатанистов, потому как только шаман способен открыть справку - прочесть там слова магические, и потому обладают телепатией в полной мере. И не надо писать ни среду разработки, ни какие методы используються для доступа, ни с какой базой работает данный ньюб - обо всем должны знать духи форума. Им это ведомо, а потому писать в сообщении абсолютно излишне. Это правильно, но впредь от имени сакрального братства форума я предупреждаю данного новоначального - за подобное поведение Господь карает - а я послужу в качестве Бича Божьего.
[/COLOR]
З.Ы. Уже не знаю как писать - никто не должен догадываться о чем вы думаете когда на форум пишете.

32K
31 мая 2008 года
fredie
7 / / 23.12.2007
буду стараться исправиться :)
Команды INSERT и SELECT я конечно использовал, но выдает зачем то ошибку "Ошибка синтаксиса (пропущен оператор) в выражении запроса 'ODERS1.Id numeric (8)'."

Код:

cre.CommandText = "CREATE TABLE ODERS11212.dbf (Id numeric (8), ODERS_ID numeric (8), APLYSTATUS char (10), WDOGDATE date, WDOGNUM char (10), INFO1 char (253), INFO2 char (253))";

INFO1, INFO2 - новые поля

ins.CommandText = "INSERT INTO ODERS11212.DBF (Id numeric (8), ODERS_ID numeric (8), APLYSTATUS char (10), WDOGDATE date, WDOGNUM char (10))";

sel.CommandText = "SELECT ODERS1.Id numeric (8), ODERS1.ODERS_ID numeric (8), ODERS1.APLYSTATUS char (10), ODERS1.WDOGDATE date, ODERS1.WDOGNUM char (10) FROM ODERS1.DBF";


Provider=Microsoft.Jet.OLEDB.4.0

среда разработки С# :)
1
31 мая 2008 года
kot_
7.3K / / 20.01.2000
Ну уже лучше. А зачем в запросе вставки:
INSERT INTO ODERS11212.DBF (Id numeric (8), ODERS_ID numeric (8), APLYSTATUS char (10), WDOGDATE date, WDOGNUM char (10))"; ?
И сам запрос построен не верно.
Должно быть:
 
Код:
ins.CommandText = "INSERT INTO ODERS11212.DBF(Id, ODERS_ID, APLYSTATUS, WDOGDATE, WDOGNUM) SELECT Id, ODERS_ID, APLYSTATUS, WDOGDATE, WDOGNUM FROM ODERS1.DBF";

Кроме того, я не помню, а проверять некогда - возможно команда CREATE TABLE на файловой базе может и не отработать - возможно вам необходимо будет вызвать метод класса доступа в С# для создания таблицы.
1
31 мая 2008 года
kot_
7.3K / / 20.01.2000
Вот кстати тема по созданию таблицы
http://www.codenet.ru/progr/delphi/ado/
и еще одна
http://www.sql.ru/forum/actualthread.aspx?tid=242624
32K
01 июня 2008 года
fredie
7 / / 23.12.2007
Спасибо, все стработало.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог