powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Опять про обновление структуры базы...
3 сообщений из 3, страница 1 из 1
Опять про обновление структуры базы...
    #32495688
Lyoshik Belloff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, есть какие-то тулзы, утилы, которые помогают в этом деле?
Работаю с mdb (Access2000) через ADO из Дельфы. (База на серваке, с ней несколько клиентов на Делфях предполагается будут работать) Базу уже скоро отдавать заказчику, рано или поздно (скорее всего первое :) ), при доработках прийдётся обновлять базу с живими данными...Добавлять поля, таблицы, и т.д, при этом проверять есть ли уже такие поля, таблицы и т.д...
Неужели нет никаких прог, помогающих в этом нелёгком деле? :-) Руками так нехочется всё это писать с нуля, скрипты, т.д.... Или хотя бы как выгрузить структуру базы в DDL, или что-то подобное? Посоветуйте, как кто решает эту проблему, потому что я смутно представляю...
...
Рейтинг: 0 / 0
Опять про обновление структуры базы...
    #32495968
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, как это в Delphi, и зачем какие-то тулзы
на VBA это выглядит процедурой на два десятка строк кода, навскидку, к примеру добавление полей (без детального тестирования)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Sub ColumnAdd(strTablName As String, strFieldName As String, _
                     strFieldType As String, strFieldSize As String)
Dim rst As ADODB.Recordset
Dim strSQL As String
Set rst = New ADODB.Recordset
On Error GoTo ErrAddColumn
    strSQL =  "SELECT "  & strFieldName &  " FROM "  & strTablName &  ";" 
    rst.Open strSQL, CurrentProject.Connection
    MsgBox  "Поле уже есть" 
    rst.Close
    Set rst = Nothing
    Exit Sub
ErrAddColumn:
    strSQL =  "alter table "  & strTablName &  " add column  "  & strFieldName & _
               " "  & strFieldType &  " "  & strFieldSize &  " ;" 
    CurrentProject.Connection.Execute strSQL
    Exit Sub
End Sub


вызов
ColumnAdd "t1", "field9", "int", ""
ColumnAdd "t1", "field66", "text", "(50)"

можно тоже делать через ADOX
...
Рейтинг: 0 / 0
Опять про обновление структуры базы...
    #32496331
Lyoshik Belloff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть таким же образом можно проверять-создавать констрейны, индексы, и т.д.?
И каждый раз руками в коде добавлять
"ColumnAdd "t1", "field9", "int", "" " .....?
Кто-то занимался обновлением структуры для Access? Насколько я понимаю, как это должно выглядеть - Есть новая база. Выгружаем структуру в какой-то скриптовый формат. Какой-то программой обновления натаскиваем этот скрипт на старую базу - и о, чудо, всё обновилось, даже без ошибок? :)

П.С. Просто не хочется изобретать велосипед, может уже есть что-то готовое или простой способ?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Опять про обновление структуры базы...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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