powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу удалить поле
8 сообщений из 8, страница 1 из 1
Не могу удалить поле
    #32763996
Spavel_74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая: я добавляю поле в Fox’e 7 так
SQLEXEC_=SQLEXEC(ConServerDataBase_, " Alter table Spr Add a1 Char(20) default “А”"), где ConServerDataBase_- PUBLIC переменная определена в prg при запуске программы.
Fox’e поле создал. Пытаюсь удалить поле так SQLEXEC_=SQLEXEC(ConServerDataBase_, " Alter table Spr Drop column a1"), SQLEXEC возвращает -1, Пытаюсь удалить поле в SQL Query Analyzer так alter table spr drop column a1, выдаёт ошибку
Server: Msg 5074, Level 16, State 1, Line 1
The object 'DF__Spr__A1__17C286CF' is dependent on column 'a1'.
Server: Msg 4922, Level 16, State 1, Line 1
ALTER TABLE DROP COLUMN a1 failed because one or more objects access this column.
Выгружаю Fox, останавливаю сервер и снова запускаю, пытаюсь удалить поле в SQL Query Analyzer тоже самое. В чём дело не знаю, помогите, пожалуйста.
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32764189
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Spavel_74!

Это всё на MS SQL? Тогда внимательно читай хелп, в частности:

A column cannot be dropped if it is:
....
Associated with a default defined with the DEFAULT keyword, or bound to a
default object.

Указанное в сообщении об ошибке имя - очевидно автоматически присвоенное имя
для твоего default-а. Удали сначала его.

На будущее - не нужно думать, что если ту используешь скажем MS SQL, то и
все вокруг используют только его, а также что вокруг одни провидцы, которые
будут по отрывочной информации догадываться, о чём же именно шла речь :(
Также всегда и всем очень сильно помогает внимательное чтение мануалов, хотя
бы по испольуемым командам и по получаемым ошибкам.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32765600
filin06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как удалять созданные таким способом default
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32765635
-Гость-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаешь и правильно и не правильно. Удалять или доблять поля с клиентского приложения.. ну не деликатно. Уж если хочешь рулить
структурой таблиц то на сервере напиши хранимые процедуры, там ты и с синтаксисом не "попадешь" и по переменным проблем не будет и из фокса дергай именно их, точно так же, по SQLEXEC(...), передавай только список параметров.
Так пойдет ?
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32765689
filin06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я очень дружу с Fox'ом а вот с MS SQL к сожалению не очень.
Создать процедуру это последний вариант или есть чтонибудь приближонное к Fox'у ?
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32765720
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Создать процедуру это последний вариант или есть чтонибудь приближонное к Fox'у ?


Из фокса можно выполнить любую команду TSQL в том числе и на удаление поля таблицы, и на создание хранимой процедуры ...
Но прислушайся к совету -Гость- : манипуляции с таблицами базы данных должны производится в самой базе через хранимые процедурые, которые есть органическая часть слоя доступа к данным. А фокс выступает клиентом базы данных. И не гоже клиенту знать всю логику работы самой базы. Что будет, если в базе что-то изменится, придется переписывать и клиента, а это не есть хорошо.

DROP DEFAULT { default } [ ,...n ] - так удалить значение по умолчанию для поля. Здесь Book On Line (BOL) - лучший советчик.
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32765796
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi -Гость-!

Хех, до чего-же доводит людей MS SQL :)
Структурой данных рулить должен администратор БД, и писать DDL в ХП ещё хуже
чем пользовать его из клиентского приложения.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Не могу удалить поле
    #32767634
Spavel_74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как узнать имя Default если оно создано так Alter table Spr Add a1 Char(20) default “А”
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу удалить поле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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