Ошибка вставки новой записи [РЕШЕНО]
Автор GOYa, 20 мая 2010, 11:14
0 Пользователи и 1 гость просматривают эту тему.
Помогите.
При вводе данных из формы выдает
«Ошибка вставки новой записи»
Прм повторном вводе
«Ошибка вставки новой записи»
Состояние SQL: 23000
Код ошибки: -104
Violation of unique constraint SYS_PK_47: duplicate value(s) for column(s) «ID» in statement [INSERT INTO «Таблица1» ( «ID»,»Test») VALUES ( ?,?)]
Но данные в таблицу вводятся.
[вложение удалено Администратором]
Очевидно, в поле ID вводятся повторяющиеся значения. Поскольку данное поле у Вас объявлено первичным ключом, его значения должны быть уникальными.
Насколько хватает моих знаний — ругается на то, что вводятся одинаковые значения в поле ID, которое должно быть уникальным, ибо первичный ключ.
Update: Упс, опередили
А вообще, первичный ключ-ID лучше делать самозаполняющимся, т.е. выставить Автозначение в «Да».
A Matter of Life and Death
В том то и вопрос, что таблица изначально пустая, а вводится первая запись.
См. прикрепл. файл.
она не пустая.
Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
[вложение удалено Администратором]
Цитата: Helen от 20 мая 2010, 11:58
она не пустая.Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
Приношу свои извинения за кривизну рук. Но делал все по мануалу:
создал базу
в ней таблицу с двумя полями: ID- самозаполняющийся и name — текстовое поле
мастером прикрутил форму только для ввода данных
и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
[вложение удалено Администратором]
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста
не могу воспроизвести. Расскажите пошагово, как вносятся данные в форме, начиная с открытия.
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
Воспроизвёл. Что интересно — так когда форма создана только для внесения новых данных. Если форма позволяет просматривать и редактировать уже существующие данные, ошибки нет.
A Matter of Life and Death
1. Открыл файл
2. Вызвал форму tab1
3. В поле name ввёл данные
4. Нажал иконку «Следующая запись» на нанели инструментов Навигация формы
5. Ошибка.
A Matter of Life and Death
не могу
ООо 3.2.1 RC1.
Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
A Matter of Life and Death
Цитата: Syzygy от 20 мая 2010, 16:07
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
Нет в Go-OO 3.2-13 этот баг есть. Нет в Оо 3.1 от Nowell. Но возможно его нет и в оригинале Оо 3.1
Свобода информации — свобода личности!
Ошибка вставки новой записи [РЕШЕНО]
Автор GOYa, 20 мая 2010, 11:14
0 Пользователи и 1 гость просматривают эту тему.
Помогите.
При вводе данных из формы выдает
«Ошибка вставки новой записи»
Прм повторном вводе
«Ошибка вставки новой записи»
Состояние SQL: 23000
Код ошибки: -104
Violation of unique constraint SYS_PK_47: duplicate value(s) for column(s) «ID» in statement [INSERT INTO «Таблица1» ( «ID»,»Test») VALUES ( ?,?)]
Но данные в таблицу вводятся.
[вложение удалено Администратором]
Очевидно, в поле ID вводятся повторяющиеся значения. Поскольку данное поле у Вас объявлено первичным ключом, его значения должны быть уникальными.
Насколько хватает моих знаний — ругается на то, что вводятся одинаковые значения в поле ID, которое должно быть уникальным, ибо первичный ключ.
Update: Упс, опередили
А вообще, первичный ключ-ID лучше делать самозаполняющимся, т.е. выставить Автозначение в «Да».
A Matter of Life and Death
В том то и вопрос, что таблица изначально пустая, а вводится первая запись.
См. прикрепл. файл.
она не пустая.
Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
[вложение удалено Администратором]
Цитата: Helen от 20 мая 2010, 11:58
она не пустая.Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
Приношу свои извинения за кривизну рук. Но делал все по мануалу:
создал базу
в ней таблицу с двумя полями: ID- самозаполняющийся и name — текстовое поле
мастером прикрутил форму только для ввода данных
и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
[вложение удалено Администратором]
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста
не могу воспроизвести. Расскажите пошагово, как вносятся данные в форме, начиная с открытия.
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
Воспроизвёл. Что интересно — так когда форма создана только для внесения новых данных. Если форма позволяет просматривать и редактировать уже существующие данные, ошибки нет.
A Matter of Life and Death
1. Открыл файл
2. Вызвал форму tab1
3. В поле name ввёл данные
4. Нажал иконку «Следующая запись» на нанели инструментов Навигация формы
5. Ошибка.
A Matter of Life and Death
не могу
ООо 3.2.1 RC1.
Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
A Matter of Life and Death
Цитата: Syzygy от 20 мая 2010, 16:07
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
Нет в Go-OO 3.2-13 этот баг есть. Нет в Оо 3.1 от Nowell. Но возможно его нет и в оригинале Оо 3.1
Свобода информации — свобода личности!
I am attempting to add records to a table which is linked to other tables that I don’t want to modify. When I attempt to add a record to the table in question, an error message appears:
Error inserting the new record.
Violation of the unique index "<unique index>":
duplicate values for columns "xxx", "yyyy" in statement [INSERT INTO "table"("xxx","yyyy")VALUES(?,?)].
The error message is correct in that the table does have a unique index composed of two fields. However in the first instance I don’t want records added to that table as it is only used as a lookup table for the main table which I am adding or modifying records.
The erroneous table does in fact have three keys. One primary, which is auto incremented, a second, unique key comprising two fields, and a third, foreign lookup key which is not unique.
I’m not sure what’s going on under the hood here but I think it is to do with the index comprising two fields.
SELECT DISTINCT "Futures_Orders"."Date",
"Futures_Orders"."Symbol","Futures_Orders"."Contract_Mth",
"Futures_Orders"."Send_To_Broker",
"Futures_Orders"."Order-Id",
"Futures_Orders"."Broker","Futures_Orders"."Order_Action",
"Futures_Orders"."No_Contracts",
"Futures_Orders"."Order_Price",
"Futures_Orders"."Trade_Type",
CASE "Futures_Orders"."Order_Action"
WHEN 'b' THEN 's'
ELSE 'b'
END "If_Done_Action",
"Futures_Orders"."If_Done_Price",
"Futures_Orders"."No_Contracts" * (
CASE "Contract_Details"."USIntRates"
WHEN 'n' THEN ABS( "Futures_Orders"."Order_Price"
- "Futures_Orders"."If_Done_Price" ) /
"Contract_Details"."MinTick"
ELSE ABS(ABS(TRUNCATE("Futures_Orders"."Order_Price",
0)-TRUNCATE("Futures_Orders"."If_Done_Price",
0))*"Contract_Details"."MinTick" -
CASE
WHEN "Contract_Details"."Symbol"
IN ( 'FV', 'TU' ) THEN 400
ELSE 200
END *
ABS("Futures_Orders"."Order_Price" -
TRUNCATE("Futures_Orders"."Order_Price", 0)-
"Futures_Orders"."If_Done_Price" + TRUNCATE(
"Futures_Orders"."If_Done_Price", 0 )))
END
* "Contract_Details"."MinTickVal" / "FX_Rates"."Rate" +
CASE
WHEN "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" = 0
THEN "Broker"."Commission"
ELSE "Broker_Commissions"."Commission_AUD" +
"Broker_Commissions"."Commission" / "FX_Rates"."Rate"
END
* 2) "Risk",
"Contract_Details"."Symbol", "Contract_Details"."Currency",
"FX_Rates"."Code", "Broker"."Broker",
"Broker_Commissions"."Symbol", "Broker_Commissions"."Broker",
"Broker_Commissions"."ID"
FROM "Futures_Orders", "Contract_Details", "FX_Rates", "Broker",
"Broker_Commissions" WHERE "Futures_Orders"."Symbol" =
"Contract_Details"."Symbol" AND "Contract_Details"."Currency" =
"FX_Rates"."Code" AND "Futures_Orders"."Broker" = "Broker"."Broker"
AND "Futures_Orders"."Broker" = "Broker_Commissions"."Broker" AND
"Futures_Orders"."Symbol" = "Broker_Commissions"."Symbol"
Может ли кто-нибудь помочь мне с созданием формы Libreoffice Base? У меня есть следующие таблицы:
И я пытаюсь добавить форму для ввода новой записи RESOURCES со следующими полями: [RESOURCE_NAME], [CURRENCY_NAME] и [AMOUNT]. Но после 10+ попыток у меня ничего не вышло. Я попытался добавить его через мастер, выбрав РЕСУРСЫ в качестве основной формы и ВАЛЮТЫ в качестве подчиненной формы и наоборот. Я пробовал ПРОСМОТРЫ и формы на их основе. Эти попытки только дали мне или не дали возможности ввести новую запись, либо создание новой ВАЛЮТЫ.
Мне не нужно создавать новую валюту через эту форму, я хочу только ввести новый ресурс (введите только один раз, а не для изменения и не для удаления). Поскольку я не хочу запоминать все идентификаторы, я хочу выбрать название валюты через раскрывающийся список.
Кто-нибудь может дать инструкцию как это сделать, пожалуйста?
Спасибо.
1 ответ
Лучший ответ
Для этого вам не нужна подчиненная форма — просто создайте документ формы с РЕСУРСАМИ в качестве основной формы (только формы).
Для ввода валюты вам понадобится список. Список имеет два поля: поле отображения и поле, которое сохраняется в таблице. Вы настроите его для отображения CURRENCY_NAME и хранения CURRENCY_ID.
Когда вы создаете список, всплывающий мастер может дать вам то, что вы хотите. Если мастер не справляется:
- Убедитесь, что документ формы открыт в режиме разработки: на панели инструментов «Элементы управления формой» крайний левый / верхний значок карандаша с треугольником должен быть нажат. Если этот значок неактивен, закройте документ, щелкните его имя правой кнопкой мыши и выберите «Редактировать».
- Щелкните правой кнопкой мыши по списку и выберите «Управление»; это откроет окно свойств
- На вкладке «Данные» измените «Тип содержимого списка» на «Sql».
- В поле «Содержание списка» введите
SELECT "CURRENCY_NAME", "CURRENCY_ID" FROM "CURRENCIES" ORDER BY "CURRENCY_NAME"
- По умолчанию для связанного поля должно быть установлено 1. Если не 1, измените его на 1.
- Закройте окно свойств и сохраните форму. Теперь он должен работать так, как вы хотите.
Если вам нужен список внутри таблицы: после создания таблицы с формой в режиме редактирования щелкните правой кнопкой мыши имя столбца, которое вы хотите изменить, и выберите «Заменить на», а затем «Список».
Отредактировано, чтобы включить комментарий OP о том, что связанное поле должно быть 1
2
Lyrl
2 Дек 2015 в 19:08
Уже много лет одна фигня меня бесит в ОпенОфисе.
У меня есть файл с реестром закупок в файле «Снабжение.ods», который постоянно использую. Т.е. открыл утром и постоянно в нем работаю. Но часто появляется ошибка при записи файла после внесения изменения в файл:
«Ошибка при сохранении документа Снабжение:
Ошибка записи.
Невозможно записать файл.»
Я закрываю этот файл и сразу же его открываю. И после этого вообще не вознкиает никаких ошибок. Т.е. эта ошибка появляется после первого открытия файла. Не помогло даже внести в свойствах файла на вкладке «Безопасность» полный доступ всем учеткам и даже пробовал добавить учетку «Все» с полным доступом. Все равно, почти всегда возникает ошибка при первой записи в файл.
Такая фигня только с этим конкретным файлом. Пробовал открыть его как копию, пересохранить, сбросить права доступа к этмоу файлу
Скажите, кто-нить знает, как это исправить?!
П.с. Иногда помогает открыть другой файл — там внести изменения, закрыть и затем открыть этот пресловутый файл и почти всега он работает потом без ошибок.
Самым проблемным компонентом LibreOffice является Base (аналог MS Access, инструмент для создания баз данных). С тех древних времен, когда произошло отделение LibreOffice от OpenOffice.org, этот компонент вообще разработчики не развивали и не исправляли в нем ошибки. И вообще эта штука устроена крайне неудобным образом. Движок для создания БД используется древний HSQLBD, который хочет для своей работы JAVA. Версия движка не обновлялась со времен Царя Гороха да и сам по себе движок не очень прямой от рождения. Недавно (по галактическим масштабам) разработчики решили выпилить эту фигню из состава ЛО, заменив движок БД на Firebird Embedded. По идее эта замена должна принести кучу профитов, поскольку планируется не просто проволокой прикрутить некий билд FBE к LibreOffice, а они хотят сделать нормальный, современный, обновляемый и активно развиваемый компонент, который, кстати, JAVA для себя не требует. Эта замена началась, как один из проектов GSoC (Google Summer of Code — это гугл платит бабло студентам со всего мира за создание кода для свободных проектов), и продолжается по сей день. Для пользователя пока хороших новостей на этом фронте нету, информации о степени готовности новинки также нет.
Я столкнулся пару раз с работой Base в его текущем состоянии. Он просто не работает. Будьте готовы к тому, что поработав над созданием БД пару часов, вы потеряете все данные или тщательно проработанную структуру БД, просто потому, что Base зависает при самых простых манипуляциях. Причем зависает намертво, утаскивая с собой в могилу не только Вашу БД, но и ВСЕ документы, которые у Вас открыты в LibreOffice, как текстовые, так и электронные таблицы и рисунки и презентации, все!
Мой Вам совет: если Вам приспичило создать БД для личных нужд, НЕ ИСПОЛЬЗУЙТЕ Base. Найдите ему замену. Используйте электронные таблицы с фильтрами, что угодно, но не Base.
Перейти к контенту
Ошибка вставки новой записи [РЕШЕНО]
Автор GOYa, 20 мая 2010, 11:14
0 Пользователи и 1 гость просматривают эту тему.
Помогите.
При вводе данных из формы выдает
«Ошибка вставки новой записи»
Прм повторном вводе
«Ошибка вставки новой записи»
Состояние SQL: 23000
Код ошибки: -104
Violation of unique constraint SYS_PK_47: duplicate value(s) for column(s) «ID» in statement [INSERT INTO «Таблица1» ( «ID»,»Test») VALUES ( ?,?)]
Но данные в таблицу вводятся.
[вложение удалено Администратором]
Очевидно, в поле ID вводятся повторяющиеся значения. Поскольку данное поле у Вас объявлено первичным ключом, его значения должны быть уникальными.
Насколько хватает моих знаний — ругается на то, что вводятся одинаковые значения в поле ID, которое должно быть уникальным, ибо первичный ключ.
Update: Упс, опередили
А вообще, первичный ключ-ID лучше делать самозаполняющимся, т.е. выставить Автозначение в «Да».
A Matter of Life and Death
В том то и вопрос, что таблица изначально пустая, а вводится первая запись.
См. прикрепл. файл.
она не пустая.
Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
[вложение удалено Администратором]
Цитата: Helen от 20 мая 2010, 11:58
она не пустая.Update: у Вас форма в режиме «только добавление», поэтому существующие записи не показываются.
Приношу свои извинения за кривизну рук. Но делал все по мануалу:
создал базу
в ней таблицу с двумя полями: ID- самозаполняющийся и name — текстовое поле
мастером прикрутил форму только для ввода данных
и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
[вложение удалено Администратором]
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста
не могу воспроизвести. Расскажите пошагово, как вносятся данные в форме, начиная с открытия.
Цитата: GOYa от 20 мая 2010, 14:11и когда ввожу запись в поле name выскакивает эрор из первого поста хотя данные в таблицу таки заносятся.
Воспроизвёл. Что интересно — так когда форма создана только для внесения новых данных. Если форма позволяет просматривать и редактировать уже существующие данные, ошибки нет.
A Matter of Life and Death
1. Открыл файл
2. Вызвал форму tab1
3. В поле name ввёл данные
4. Нажал иконку «Следующая запись» на нанели инструментов Навигация формы
5. Ошибка.
A Matter of Life and Death
не могу
ООо 3.2.1 RC1.
Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
A Matter of Life and Death
Цитата: Syzygy от 20 мая 2010, 16:07
Цитата: GOYa от 20 мая 2010, 14:59Самое интересное, что эта трабла с оигинальной Оо 3.2, а с Оо 3.1 от Nowell с той же самой базой проблем нет
Видимо, проблему закрыли в Go-OO раньше. Через неделю где-то выйдет 3.2.1 Communinty, проверим ещё разочек там.
Нет в Go-OO 3.2-13 этот баг есть. Нет в Оо 3.1 от Nowell. Но возможно его нет и в оригинале Оо 3.1
Свобода информации — свобода личности!
I know what the error means, and why it’s occurring, meaning this is not a duplicate of the many topics covering State 23000. I’m using PDO to insert a duplicate record into a table that has a compound PK. I did this on purpose, in order to automatically cancel the insertion of any duplicated records in to this specific table.
The error, SQLSTATE[23000]: Integrity constraint violation
, is killing the script. Is there a way to set the warn level for this particular error, to literally tell it to shut up and carry on?
I don’t understand the purpose of having compound PKs if we can’t allow them to work for us?
I’m not very experienced with DB administration so you’ll have to forgive me if I come across a bit ‘it should work if I hit it with a hammer’.
Table Structure:
CREATE TABLE `cart` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(10) NOT NULL,
`itemid` int(10) NOT NULL,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `unique_records` (`userid`,`itemid`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1
Note the compound PK called ‘unique records’.
so I have this table:
| id | userid | itemid |
| 1 | 175 | 12 |
And I execute this query:
$insertItem = $db->query("
INSERT INTO cart (userid, itemid)
VALUES (:userid, :itemid),
array("userid"=>"175", "itemid"=>"12")
");
Executing this query prompts this error: SQLSTATE[23000]: Integrity constraint violation
.
I fully understand why I’m getting this error — I just don’t understand why it’s killing my submission? I thought it should just keep working ignoring the fact that a few records weren’t inserted because they were duplicates?
Advice appreciated!
I know what the error means, and why it’s occurring, meaning this is not a duplicate of the many topics covering State 23000. I’m using PDO to insert a duplicate record into a table that has a compound PK. I did this on purpose, in order to automatically cancel the insertion of any duplicated records in to this specific table.
The error, SQLSTATE[23000]: Integrity constraint violation
, is killing the script. Is there a way to set the warn level for this particular error, to literally tell it to shut up and carry on?
I don’t understand the purpose of having compound PKs if we can’t allow them to work for us?
I’m not very experienced with DB administration so you’ll have to forgive me if I come across a bit ‘it should work if I hit it with a hammer’.
Table Structure:
CREATE TABLE `cart` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(10) NOT NULL,
`itemid` int(10) NOT NULL,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `unique_records` (`userid`,`itemid`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1
Note the compound PK called ‘unique records’.
so I have this table:
| id | userid | itemid |
| 1 | 175 | 12 |
And I execute this query:
$insertItem = $db->query("
INSERT INTO cart (userid, itemid)
VALUES (:userid, :itemid),
array("userid"=>"175", "itemid"=>"12")
");
Executing this query prompts this error: SQLSTATE[23000]: Integrity constraint violation
.
I fully understand why I’m getting this error — I just don’t understand why it’s killing my submission? I thought it should just keep working ignoring the fact that a few records weren’t inserted because they were duplicates?
Advice appreciated!
Have you used Set Term before and after this code?
All commands in Firebird must be terminated with a semi-colon. If you want to create a stored procedure you need to be able to distinguish between the terminating semi-colon from the semi-colons inside the stored procedure.
Something like this:
SET TERM ^ ;
CREATE PROCEDURE SP_NYANSAT(
FORNAVN VARCHAR(30),
EFTERNAVN VARCHAR(30),
ADRESSE VARCHAR(50),
POSTNUMMER CHAR(4),
TELEFONNUMMER CHAR(8),
EMAIL VARCHAR(50))
AS
DECLARE VARIABLE ID INTEGER;
BEGIN
ID = GEN_ID(GEN_ANSAT_ID,1);
INSERT INTO MYTABLE (ID, FORNAVN, EFTERNAVN, ADRESSE, POSTNUMMER, TELEFONNUMMER, EMAIL) VALUES (:ID, :FORNAVN, :EFTERNAVN, :ADRESSE, :POSTNUMMER, :TELEFONNUMMER, :EMAIL);
END
^
SET TERM ; ^
Please notice how the declaration of the stored procedure is terminated with ^, thus ending the statement. After the declaration you also restore the terminating semi-colon.
On a side note, I would recommend to copy firebird.msg to the location the error you get tells you so you can see what is really happening.
EDIT:
If you wish you can check this link. There you can find a lot of information regarding Firebird + IBExpress, including SET TERM (page 81).
EDIT 2:
Just tried at home with IBExperts + Firebird and I had no problem creating the stored procedure. My guess is you are trying to do one of the following things:
-
You have opened an SQL editor and are trying to compile the code directly. That will not work because IBExperts thinks you are trying to run DSQL sentences. Stored procedures are created with PSQL sentences.
-
You are trying to use the «New procedure» utility (check buttons in the upper right side of the main menu) and pasted the whole code into the editor. That will not work because in that editor you only have to put the body code. Stored procedure name is set in a field on the upper right side of the window you opened. Parameters and variables are introduced by using the «Insert Parameter/Variable» button on the left side above the code editor. The SET TERM sentences are created automatically by IBExperts. You can check the resulting code in the DDL tab.
HTH
I have this codes but when I try these code I am getting:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘post’ cannot be null
this error.
I could not find any solution. I tried another functions which are work they are worked but this one is not work.
?>
<form method="post">
Buraya yaz <br><textarea style="resize:none" name="post"></textarea> <br><input type="submit" value="Gönder">
</form>
<?php
if(empty($_POST['post'])){
echo 'you should fill the area.';
exit;
}
if (empty($errors) === true) {
$users->sendpost($post);
}
?>
public function sendpost($post){
$query = $this->db->prepare("INSERT INTO `posts` (`post`) VALUES (?) ");
$query->bindValue(1, $post);
try{
$query->execute();
}catch(PDOException $e){
die($e->getMessage());
}
}
halfer
19.8k17 gold badges99 silver badges185 bronze badges
asked Nov 18, 2013 at 21:24
1
insert $post = $_POST[‘post’];
$post = $_POST['post'];
if(empty($_POST['post'])){
echo $errors[] = 'you should fill the area.';
}
if (empty($errors) === true){
$users->sendpost($post);
}
answered Nov 18, 2013 at 21:29
2
One of the problems is that you’re displaying the error but not doing anything about it. Change it to:
if(empty($_POST['post'])){
echo 'you should fill the area.';
exit;
}
However, as the main recommendation, you should use exceptions that can be catched:
if(empty($_POST['post'])){
throw new Exception("You should fill the area.");
}
This is not the only error, as noted in the comments by @RocketHazmat . If you didn’t understand what he’s saying, you should do $users->sendpost($_POST);
instead of $users->sendpost($post);
.
answered Nov 18, 2013 at 21:27
0
I have face same problem. The ‘field name’ in view page and the column name of database was different. My problem was:
"Integrity constraint violation: 1048 Column 'MoneyMethod' cannot be null"
.
My form input tag:{!! Form::select("MoneyMethod", $MoneymethodInfo, null,["class"=>"form-control MoneyMethod required","id"=>"MoneyMethod"]) !!}
, notice the spelling of ‘MoneyMethod’ and in my database table $table->string('MoneyMethod', 100);
the spelling of ‘MoneyMethod’ is same as form but in my controller $riskfund->Moneymethod = Input::get('Moneymethod');
look carefully the spelling of ‘Moneymethod’ differs from view page and database table column. After correcting the spelling, it is working now.
So, please check the spelling of ‘post’ in form, controller, database table. it may help you.
answered Aug 21, 2017 at 12:36
Ziaur RahmanZiaur Rahman
1,13810 silver badges24 bronze badges
Всем привет! При выполнении SQL запроса в Laravel выскакивает ошибка:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'users_username_unique' (SQL: insert into `users` (`email`, `password`, `activationCode`, `isActive`, `updated_at`, `created_at`) values (Sokolov_A_2000@mail.ru, y$KYlaTrJ4JlItR3BTQT81D.el3mt4A.Uam9DvG.6FFLKBohCaGPxQC, CMo0BXN3Dj6cM3pV, 0, 2016-06-29 13:06:38, 2016-06-29 13:06:38))