Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
При попытке установить Restrict ругается фокс, то нет доступа к файлу в корне rioutput.prg , которого я не вижу в принципе, то дебагер открывается с Source not available для объекта builder, а то вовсе подвисает и только через диспетчер выйти можно.
Хотя потом Restrict остается в табличке. ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Сделай с нуля БД, в неё 2 таблички с PK-FK. Навесь RI на эти таблички, посмотри что получиться (может RI билдер битый).
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
тоже самое, ругается, выход через диспетчер, однако при следующем открытии restrict в табличке RI виден. А как этот RI билдер переставить? ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Option - FileLocation -> Builders
достаточно его переписать с живого компа. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
Похоже, это были проблемы с атрибутами папки.
![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
вроде как работает код с Restrict, но
не смог в таблицу , в которой случалось, добавить отношение. Пытаюсь сделать ключ примари - пишет нарушена уникальность. Пустых нет, выгрузил в ехель, пытался повторы по цвету найти, тоже не увидел, но там 70 К + строк. Нет ли какой функции найти одинаковые значения ( но думаю, их не будет) , по хелпу побегал, сходу не нашел. Что еще может влиять на уникальность? Исправлено 1 раз(а). Последнее : DmitryKn, 15.12.22 15:06 ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
Повторов не обнаружил.
Что может помешать стать примарикей полю Integer , в котором нет пустых и совпадений? Update: победил Up2 :установил ключ, restrict, теперь проблема с кодом: Цитата:при удалении в таблице out_h, это заголовок моей накладной , в которой есть записи, в которых этот примари внешний ключ, не хочет сохраняться, пишет ошибку 1539 триггер поломан в таблице out_h. Исправлено 4 раз(а). Последнее : DmitryKn, 15.12.22 19:54 ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Скажи pack, затем пробуй первичный ключ. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
of63 Сообщений: 26040 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> При попытке установить Restrict ругается фокс,
Не делайте плохого с фоксом, он може просто "индекс", ну, с фоксовым выражением"... НОо лучще вообще не делать индекс официально. Есть "Селект", чтобы просто повыбирать что-то из таблички (поди именем, алиасом...) ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
![]() Как селектом заблокировать модификацию данных, или ещё проще, наложить блокировку на записи. ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
Владимир Максимов Сообщений: 14151 Откуда: Москва Дата регистрации: 02.09.2000 |
1. Primary - это свойство контейнера базы данных. Если таблица не включена в базу данных создать Primary невозможно. Но можно Candidate. InDBC() - проверяет включен ли объект в базу данных. Второй параметр - это тип объекта. Для таблиц можно так
Косвенный признак факта включения в базу данных - это длинные имена полей. Больше 10 символов. Просто сами эти имена физически хранятся именно в DBC. В самом файле DBF есть место под хранение только первых 10 символов имени поля. 2. При контроле уникальности значений также учитываются и записи, помеченные как удаленные (delete). Но такие записи могут быть скрыты (не видны) если сделана настройка SET DELETED ON (ON - включить фильтр по удаленным, OFF - отключить фильтр по удаленным). Поэтому перед проверкой на дубли следует отключать этот фильтр
Надеюсь, в курсе, что в FoxPro команда Delete физически записи не удаляет, а лишь ставит метку, что запись удалена. Для физического удаления записей, ранее помеченных командами Delete, используется команда PACK
Теоретически, можно добавить в индекс FOR-условие, чтобы исключить их рассмотрения записи, не удовлетворяющие условию фильтра. Но это крайне плохая стратегия. Вы получите именно те проблемы, что сейчас. Записи есть, но их "не видно". Сложно будет потом понять, в чем дело-то? ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
нет-нет, с ключом все хорошо, поставился и restrict поставился, так что с этим все хорошо.
Только код уже не работает ![]() Надо местами переделать, с новой идеологией не годится, то, что у других считается мозгом, закипает ) ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Ааа, код в смысле сама прога, нууу ... (теперь представляешь какой мусор лежит в БД) (с) О сколько нам открытий чудных ... А.С. Пушкин. ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
Например, как можно воспользоваться данными, которые только что внесены юзером, но еще не были сохранены в таблицу.
Скажем, была таблица tabl1, fld1 (id), fld2(внешний ключ),fld3 в ней записи 1 11 ббб 2 11 ггг 3 12 ууу Таблица сохранена, и мы можем сделать select, например, по ключу fld2 Но вот добавили строку 4 12 ппп и еще не было tablupdate как получить выборку по значению fld2 = 12 ? а это крушиал ( разве что лепить еще вью, и делать его таблапдэйт и только потом обновлять таблицу? Исправлено 1 раз(а). Последнее : DmitryKn, 16.12.22 12:09 ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Всё
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
Цитата: LocalCursor в данном случае это что такое? up. Понял! пробую Исправлено 1 раз(а). Последнее : DmitryKn, 16.12.22 12:41 ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
друзья, большое спасибо за помощь!
PaulWist отдельное огромное спасибо, глядишь, я так с вами чему-то (ну хоть чему-то) да и научусь )) По итогу: Установил связи между таблицами, победил код, обернул в транзакции сохранение, теперь время покажет, побеждены ли глюки ) ![]() |
Re: видимость курсора | |
---|---|
PaulWist Сообщений: 14761 Дата регистрации: 01.04.2004 |
Ещё добавок.
Я уже не помню деталей, но если что-то делать с таблицами (alter table, например) у которых установлены RI, то все связи "ломаются" и надо снова тыкать мышкой (кодом не правится, или я не знаю. И ещё остались смутные воспоминания, что контейнер БД надо компилировать , но это не точно ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: видимость курсора | |
---|---|
DmitryKn Автор Сообщений: 301 Дата регистрации: 06.04.2022 |
Немного поспешил (
при редактировании дочерних таблиц постоянно ошибка 1539 триггер поломался в таблице (( интуитивно кажется, что это связано с появлением помеченных на удаление записей. ![]() |
© 2000-2025 Fox Club  |