|
|
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
приветствую. У меня есть таблица с 6 полями, 1 из которых primary key. одна из обязательных функций моей программы это регулярное добавление\удаление записей из этой таблицы.(таблица заказов в кафе). Добавляются записи в эту таблица стабильно, без ошибок, до той поры, пока не произойдет первое удаление записи.(если удалить запись где то в середине). т.е. если появляется дыра в primary key, то при следующем добавлении записи в таблицу мне выдается ошибка violation of primary key constraint. Подскажите, есть ли способ, при удалении записи из таблицы, заного пересчитать primary key(т.е. если были ID 1 2 4 5 после удаления, чтобы он автоматически делал их 1 2 3 4), либо подскажите более оптимальные решения задачи. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 01:31:53 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Shnaizer> если появляется дыра в primary key, то при следующем Shnaizer> добавлении записи в таблицу мне выдается ошибка Shnaizer> violation of primary key constraint А ты покажи, как добавляешь. Select Count(*) делаешь, поди. Читай http://ibase.ru/devinfo/generator.htm Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 01:49:22 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, как добавляю в таблицу запись? я делаю это в дельфи, вот так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. удаляю так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 01:56:22 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
> DataModule2.ibtable9.FieldByName('ID_AZAK').AsInteger:=inc_zakaza + 1; А inc_zakaza это что? RecordCount, поди? Читай статью по ссылке, там разжевано про генераторы и триггера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 02:13:17 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 02:18:24 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
блин не понимаю. создал генератор и триггер вот такой триггер бефор инсерт: Код: sql 1. 2. 3. 4. строчку, которая делала мне инкремент раньше, закомментил: Код: pascal 1. теперь бредовую ошибку какую то выдает cannot focus on disabled or invisible window. Всё работает если убрать комментарий с этой строки. интересная ситуация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 02:53:26 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
эта ошибка вылетает на Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 02:55:35 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
автор ошибка violation of primary key constraint. эта ошибка возникает когда нарушается primary key если не будешь нарушать, то все будет нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 08:56:20 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Shnaizer> создал генератор и триггер Shnaizer> вот такой триггер бефор инсерт: Shnaizer> begin Shnaizer> NEW.ID_AZAK = gen_id(gen_azakaz_id, 1); Shnaizer> end Ещё почитай в статье про триггер с условием IF. Shnaizer> теперь бредовую ошибку какую то выдает Shnaizer> cannot focus on disabled or invisible window Это к FB отношения не имеет. Иди в профильный раздел и приведи полный код модуля - подскажут. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 12:12:37 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Shnaizerблин не понимаю. Потому что статью не прочёл целиком. Иди перечитывай до понимания. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 12:21:42 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
всем спасибо за помощь. генератор создал, всё работает. просто для меня была сложность в том что я думал что генератор должен в самой бд, после инсерта, присвоить моему ID значение +1. но поскольку у меня запись в бд появляется только после завершения работы программы, то в момент инсерта, поле id сама бд не может заполнить потому что его там нет. поэтому я вызвал генератор из дельфи Код: pascal 1. и уже его значение запихиваю в id каждый раз. а насчет ошибки cannot focus on disabled window это какой то глюк дельфи: вообщем если у вас датасоурс, связанный с таблицей, с которой вы работаете на активной в данный момент форме, связан с каким то там ДБГРИДОМ, то эта ошибка вполне может нарисоваться. но примечательно то, что эта ошибка рисовалась только тогда, когда у меня в новой записи в таблице отсутствовало значение ID. понимайте как хотите) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 14:53:07 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Shnaizerпонимайте как хотите) Есть только один способ это понимать: ты совершенно не понимаешь как работают программы. В том числе - написанные тобой. Что вызывает подозрение, что ты их не написал, а скопипастил из гугля. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 15:13:07 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, сам я всё писал. это мой диплом который я делаю из курсового. в июне защита. есть пару процедур которые я скопировал с инета например печать отчета. а ситуации вроде этой с дбгридом я считаю слегка аномальными. безусловно это от малоопытности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 15:17:26 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
Shnaizerа ситуации вроде этой с дбгридом я считаю слегка аномальными. безусловно это от малоопытности. Думаешь, прозрение, что при ошибке контроля входного значения TDataLink пытается сфокусировать тот TControl с которого оно поступило, придёт к тебе исключительно с опытом, без чтения документации и исходников VCL?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 15:41:59 |
|
||
|
PRIMARY KEY
|
|||
|---|---|---|---|
|
#18+
А еще надо бы http://ibase.ru/devinfo/ibx.htm . В частности про то, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2014, 05:38:17 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38613370&tid=1563700]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
203ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 549ms |

| 0 / 0 |
