C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
удаление записи, проблемы с удалением база INTERBASE
Kusik
Отправлено: 08.11.2005, 15:09


Ученик-кочегар

Группа: Участник
Сообщений: 10



есть табличка формата INTERBASE, не могу удалить запись, у которой все поля , причем в таблице нету проверки на НЕ НОЛЬ или уникальность записи и нет связи с другими полями других таблиц. таблица автономная!!! не могу удалить пустую запись не только программным образом, но и на уровне БД, т.е. через delete from where =. ПОМОГИТЕ!!!!!
Guest
Отправлено: 08.11.2005, 17:47


Не зарегистрирован







А так delete from where ... is Null
Не поможет — глюк сервера, убивайте таблицу и создавайте заново.
0xb800
Отправлено: 08.11.2005, 21:27


Не зарегистрирован







Что значит "у которой все поля" ?
Каков полный текст запроса на удаление ?
А сообщение сервера (полностью) ?
Kusik
Отправлено: 09.11.2005, 15:45


Ученик-кочегар

Группа: Участник
Сообщений: 10



"у которой все поля" т.е. все поля в записи имею значение .
а запрос такой: delete from table where field is null
он не матюкается при выполнении этого запроса, но и ничего не удаляет!!!
вроде все проходит успешно, а запись как была, так и остается
AVC
Отправлено: 09.11.2005, 16:03


Ветеран

Группа: Модератор
Сообщений: 1583



А у этой записи точно поле с именем field содержит значение Null? Может там не Null а строка нулевой длины (не помню, различает ли их Interbase) или одни пробелы.
0xb800
Отправлено: 09.11.2005, 20:39


Не зарегистрирован







(т.е. запрос вида
select from table where field is null
возвращает что-нибудь ?)
0xb800
Отправлено: 09.11.2005, 20:55


Не зарегистрирован







На всякий случай:
CODE

Select
   YOUR_FIELD
From YOUR_TABLE
Where YOUR_FIELD is null
Kusik
Отправлено: 10.11.2005, 11:56


Ученик-кочегар

Группа: Участник
Сообщений: 10



QUOTE (0xb800 @ 09/11/2005, 20:55)
На всякий случай:
CODE

Select
YOUR_FIELD
From YOUR_TABLE
Where YOUR_FIELD is null

дык, я так и делал, после "удаления". но каждый раз после удаления запись оставалась в таблице.
А запись в во всех полях, или хотябы в ключевом поле не просто пробелы а ИМЕННО NULL. Запрос на удаление говорит что все ОК, но так ничего и не удаляет!!!! если бы все было так просто я бы сюда вопрос не задавал!!! Надеюсь что мне кто-нибудь ответит по существу, а то одно и тоже обговариваем, а в резалте ниче не удаляется!!!
avc*
Отправлено: 10.11.2005, 12:36


Не зарегистрирован







QUOTE

А запись в во всех полях, или хотябы в ключевом поле не просто пробелы а ИМЕННО NULL

Null в ключевом поле? ohmy.gif Так не должно быть.
Пересоздайте таблицу и скопируйте в неё все записи кроме этой.
Kusik
Отправлено: 10.11.2005, 17:28


Ученик-кочегар

Группа: Участник
Сообщений: 10



QUOTE (avc* @ 10/11/2005, 12:36)
QUOTE

А запись в во всех полях, или хотябы в ключевом поле не просто пробелы а ИМЕННО NULL

Null в ключевом поле? ohmy.gif Так не должно быть.
Пересоздайте таблицу и скопируйте в неё все записи кроме этой.

я писал выше, что таблица автономная, в ней даже нету ни одного поля, которое не должно быть не ноль а также быть уникальным. т.е. проверки в БД на достоверность данных нету, а запись не удаляется. ну я имел в виду не ключевое поле, а поле по кторому я делаю проверку. Записи в нем могут повторятся, но условие на не ноль не установлено, поэтому занести NULL можно, а убить почему то неззя:((
0xb800
Отправлено: 11.11.2005, 00:18


Не зарегистрирован







QUOTE
дык, я так и делал, после "удаления".

И какой набор данных выводил этот запрос ?

QUOTE
Запрос на удаление говорит что все ОК

1 record(s) was(were) deleted from YOUR_TABLE ?

Информации мало, молчишь, как партизан, поэтому
QUOTE
одно и тоже обговариваем


Вернуться в Работа с базами данных в C++Builder