Я добавляю новые детали заказа к таблице в моем db. Один из столбцов имеет имя email
, в форме, которую я создал для добавления нового заказа в моем приложении delphi, а затем в db, я использую TEdit
s для передачи данных.Нулевое поле, не вставляющее NULL из пустого TEdit
Это код:
procedure TForm2.actAddComandaExecute(Sender: TObject);
begin
if dbmodule.comenziConnection.Connected then
begin
if addOrderForm.ShowModal=mrok then
begin
dbmodule.comenziQuery.SQL.Clear;
dbmodule.comenziQuery.SQL.Add('insert into `r33758pi_tipotask`.`comenzi` (stare, client, telefon, email, detalii, livrare, pret, user, status, observatii) values (:stare, :client, :telefon, :email, :detalii, :livrare, :pret, :user, :status, :observatii) ') ;
dbmodule.comenziQuery.Params.ParamByName('stare').AsString := addOrderForm.ComboBoxEx1.Text ;
dbmodule.comenziQuery.Params.ParamByName('client').AsString := addOrderForm.Edit2.Text ;
dbmodule.comenziQuery.Params.ParamByName('telefon').AsString := addOrderForm.Edit3.Text ;
dbmodule.comenziQuery.Params.ParamByName('email').AsString := addOrderForm.Edit4.Text ;
dbmodule.comenziQuery.Params.ParamByName('detalii').AsString := addOrderForm.Edit5.Text ;
dbmodule.comenziQuery.Params.ParamByName('livrare').AsString := addOrderForm.ComboBoxEx6.Text ;
dbmodule.comenziQuery.Params.ParamByName('pret').AsString := addOrderForm.Edit7.Text ;
dbmodule.comenziQuery.Params.ParamByName('user').AsString := addOrderForm.ComboBoxEx8.Text ;
dbmodule.comenziQuery.Params.ParamByName('status').AsString := addOrderForm.ComboBoxEx9.Text ;
dbmodule.comenziQuery.Params.ParamByName('observatii').AsString := addOrderForm.Edit10.Text ;
dbmodule.comenziQuery.ExecSQL ;
end;
end;
end;
Если я оставлю Edit4
пустые на форме все, вкладышах, но поле email
для этого порядка не имеет значения Null
, он показывает, как пустой - не пустой но нет данных.
Столбец email
установлен как Null
по умолчанию в db
, так что это не проблема.
Там должно быть 2 NULL, показывая между значениями там, но это просто пустой.
Любые идеи, почему?
Использование Rad Studio 10 Сиэтл и DBEXPRESS компоненты
EDIT
- comenziQuery является
TSQLQuery
- dbmodule это имя
data module
, который держит дб компоненты - набор данных является
TSimpleDataSet
- comenziConnection это имя
TSQLConnection
Для будущих читателей, пожалуйста, прочитайте все ответы комментарии также, большой материал в там.
Получение следующей ошибки: Драйвер dbExpress не поддерживает тип данных TDBXTypes.UNKNOWN. Сообщение об ошибке поставщика:. – Petzy
@tcsh Сложно сказать, потому что из вашего описания я принимал компоненты ADO. Я также не очень хорошо знаком с MySQL, в отличие от MSSQL. Но концепция такая же. –
Yup, похоже, проблема с компонентами dbExpress, я посмотрю на это, спасибо! :) – Petzy