|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Добавление уникального столбца в таблицу
Если столбец уже существует, то не добавлять. А если существует то добавить. Пробывал так:
Код:
try ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE s1 ADD column 1 number(2) UNIQUE'); ADOQuery1.ExecSQL; ADOQuery1.Open; except adoquery1.SQL.Text:='Select * from s1'; adoquery1.Open; end; Но потом проблемы начинаются, если удаляю строку пишет ошибку, потом перезахожу в программу, а таблица полностью стерта.. |
#2
|
||||
|
||||
ADOCommand используй.
И вообще, в рантайме изменять структуру базы - это по моему не правильно. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 18.04.2013 в 11:59. |
#3
|
|||
|
|||
Цитата:
Подскажи пжлста, как с помощью ADOCommand реализовать, то что мне нужно? |
#4
|
||||
|
||||
Ну так же.
Код:
adocommand.sql.text := 'blabla' adocommand.exec — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
cyborgg4655 (18.04.2013)
|
#5
|
||||
|
||||
Вообще-то так делать не стоит уже хотя-бы потому-что любое изменение структуры таблицы может привести к необратимой потере данных. Клиенты вам будут очень "благодарны" за такой подарок. К тому-же изменение структуры может занять очень много времени, что тоже не радует.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
||||
|
||||
Смотря какая база.
Оракл вроде адекватно на альтер тэйбл реагирует. Если так уж надо, то надо создать копию исходной таблицы, чтоб потом данные в измененную таблицу перелить. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
Цитата:
|
#8
|
||||
|
||||
Если имеется журнал транзакций, то да. Достаточно безопасно, даже если питание выключится в процессе, а вот на Акцесе, DBF, FoxPro может очень печально закончится. Помнится в Акцесе одно время был замечательный баг, когда в процессе упаковки пользователь нажимал Esc, то все что не успевало упаковаться благополучно стиралось.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |