Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / [Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция... / 8 сообщений из 8, страница 1 из 1
21.01.2008, 11:14
    #35075221
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
Имеется соединение (работаю с ADODB через JScript, но это в принципе не важно):

var srcConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="' + srcDir + '";Extended Properties=dBase IV;'

Он в принципе нормально работает с DBF файлами, записи читает таблички создает (правда с кривыми number-полями). Зато универсален, работает везде без установки доп. компонентов.

Задача элементарная, но я на ней запоролся конкретно: надо открыть DBF, проверить наличие поля, допустим "NEW_F" и, если его нет, добавить поле.

Проблема в том, что команда
Код: plaintext
"ALTER TABLE " + srcName + " ADD COLUMN NEW_F DATE;";
не выполняется, потому что в таблице есть данные. Как это сделать я не представляю. Помогите пожалуйста плз! Век благодарен буду.


Пробовал идею скопировать таблицу во временную, очистить, добавить поле и вернуть записи обратно из временной. Но не понял как скопировать таблицу :(
...
Рейтинг: 0 / 0
21.01.2008, 11:21
    #35075246
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
В общем-то, Microsoft.Jet.OLEDB.4.0 не имеет к фоксу никакого отношения, и особенности его работы фоксоводам, скорее всего, мало знакомы. Вот если бы речь шла о VFP ODBC драйвере или о VFPOLEDB provider, тут можно было бы поискать ответ.
...
Рейтинг: 0 / 0
21.01.2008, 11:30
    #35075300
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
диалект SQL применяется тот же, стандартный не прокатывает. какую команду SQL нужно выполнить, чтобы создать пустую таблицу с аналогичной структурой существующей таблицы? у меня просто это сделать не получилось.
...
Рейтинг: 0 / 0
21.01.2008, 11:47
    #35075380
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
В фоксе это было бы Copy Structure. Но это не SQL. Насчет идентичности диалектов вопрос спорный. Еще можно попробовать
Код: plaintext
select * from table where  1 = 0 .
...
Рейтинг: 0 / 0
21.01.2008, 11:50
    #35075390
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
а как это скрестить с CREATE TABLE?
...
Рейтинг: 0 / 0
21.01.2008, 11:55
    #35075418
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
Код: plaintext
select * from table where  1 = 0  INTO c:\MyNewTable.dbf
...
Рейтинг: 0 / 0
21.01.2008, 11:58
    #35075432
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
Еще раз повторяю: Microsoft.Jet.OLEDB.4.0 не имеет к фоксу никакого отношения. Поэтому искать среди знатоков фокса помощи по данному софту несколько опрометчиво.
...
Рейтинг: 0 / 0
21.01.2008, 12:06
    #35075453
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция...
понятно :( спасибо за участие.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / [Jet.OLEDB.4.0 / dBase IV] помогите плз! элементарная операция... / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]