Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.104.120] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Такая фигня.
есть таблица формата вида: MTDTID - аутоинкримент,рекрут,уник,кеу(*) MTID - integer,reqrut DTID - integer,reqrut так вот при добавлении С 100\%уникальным MTDTID - ругаеться - key Violation в таблице уже есть набор данных... причем MTDTID - есть дырки т.е. ex 100,101,200,205.... но даже когда ручками выставляешь MTDTID как последнее+1(ридонли снят с поля) то все равно ругаеться(ругается даже если добавлять заведомо уникальну записть) //////////////////////////////////////////////////////////////////////// ... TableMDTD.Filtered:=False; TableMDTD.Last; Idi:=TableMDTD.fieldByName('MTDTID').AsInteger+1; for i:=0 to high(sblDTID) do begin TableMDTD.Append; TableMDTD.fieldByName('MTDTID').AsInteger:=idi+i; TableMDTD.FieldByName('MTID').AsInteger:=id2; TableMDTD.FieldByName('DTID').AsInteger:=sbldtid[i]; TableMDTD.Post; end; ... |
Сообщ.
#2
,
|
|
|
Autoincrement'ное поле изменять вручную нельзя.
|
Сообщ.
#3
,
|
|
|
даже если не ставить значение полю все равно тоже самое.
|
Сообщ.
#4
,
|
|
|
TableMDTD.Append;
TableMDTD.FieldByName('MTID').AsInteger:=1; TableMDTD.FieldByName('DTID').AsInteger:=1; TableMDTD.Post; Такой код работает? |
Сообщ.
#5
,
|
|
|
такой код - нет
|
Сообщ.
#6
,
|
|
|
Тогда ты неправильно указал структуру таблицы...
|
Сообщ.
#7
,
|
|
|
не все правилно.... немного разобрался - удалил файлы *.px - все заработало....
я так понял это был биты индек или что-то вроде... так вопрос а ЧТО ЭТО БЫЛО? |
Сообщ.
#8
,
|
|
|
Конечно если удалить ключи то такая ошибка не возникнет! - гильотина лучшее средство от перхоти. Лучше разберись со структурой таблицы. Чудес не бывает - Key Violation возникает только при попытке создать запись с уже существующими значениями ключевых полей.
|
Сообщ.
#9
,
|
|
|
но все инменно так... структуру я указал правельно
кстате файлы *.px - не появлялись |