Topic: Проверка заполнения

procedure ReceivinOgEquipment_ButtonOk_OnClick (Sender: TObject; var Cancel: boolean;);
 var sType : string = IntToStr(ReceivinOgEquipment.ComboBox_nameTypeOfEquipment.DbItemID);
     sManuf : string = IntToStr(ReceivinOgEquipment.ComboBox_nameManufacturer.DbItemID);
     sDate : string = FormatDateTime('dd-mm-yyyy',ReceivinOgEquipment.DateTime_dateInServise.Date);
 begin
    SQLExecute('INSERT INTO client (firstNameClient, twoNameClient, lastNameClient, adresClient, passportNamberClient, passportSeriesClient, telephonClient) VALUES ("'+ReceivinOgEquipment.Edit_firstNameClient.Text+'", "'+ReceivinOgEquipment.Edit_twoNameClient.Text+'", "'+ReceivinOgEquipment.Edit_lastNameClient.Text + '", "'+ ReceivinOgEquipment.Edit_adresClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportSeriesClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportNamberClient.Text + '", "'+ ReceivinOgEquipment.Edit_telephonClient.Text + '")');
    SQLExecute('INSERT INTO servise (id_TypeOfEquipment, id_manufacturer, model, serialNamber, equipment, descriptionATCsWords, externalStatus, dateInServise) VALUES ("'+sType+'", "'+sManuf+'", "'+ ReceivinOgEquipment.Edit_model.Text + '", "'+ ReceivinOgEquipment.Edit_serialNamber.Text + '", "'+ ReceivinOgEquipment.Edit_equipment.Text + '", "'+ ReceivinOgEquipment.Memo_descriptionATCsWords.Text + '", "'+ ReceivinOgEquipment.Memo_externalStatus.Text + '", "'+sDate+'")');
    ReceivinOgEquipment.Close;
 end;

проблема такая:
если при сохранении использую ComboBox_nameTypeOfEquipment и ComboBox_nameManufacturer, то записи сохраняются, но если эти значения не выбирать , то получаю ошибку "constraint failed".
я хочу сделать проверку заполнения но немогу понять как проверить  "'+sType+'", "'+sManuf+'
может что-то вроди if ('+sType+'='-1')

Re: Проверка заполнения

procedure ReceivinOgEquipment_ButtonOk_OnClick (Sender: TObject; var Cancel: boolean;);
 var sType : string = IntToStr(ReceivinOgEquipment.ComboBox_nameTypeOfEquipment.DbItemID);
     sManuf : string = IntToStr(ReceivinOgEquipment.ComboBox_nameManufacturer.DbItemID);
     sDate : string = FormatDateTime('dd-mm-yyyy',ReceivinOgEquipment.DateTime_dateInServise.Date);
    begin
    if (sType='-1') then
    begin
    showmessage('gcigvo');
    end;
    SQLExecute('INSERT INTO client (firstNameClient, twoNameClient, lastNameClient, adresClient, passportNamberClient, passportSeriesClient, telephonClient) VALUES ("'+ReceivinOgEquipment.Edit_firstNameClient.Text+'", "'+ReceivinOgEquipment.Edit_twoNameClient.Text+'", "'+ReceivinOgEquipment.Edit_lastNameClient.Text + '", "'+ ReceivinOgEquipment.Edit_adresClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportSeriesClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportNamberClient.Text + '", "'+ ReceivinOgEquipment.Edit_telephonClient.Text + '")');
    SQLExecute('INSERT INTO servise (id_TypeOfEquipment, id_manufacturer, model, serialNamber, equipment, descriptionATCsWords, externalStatus, dateInServise) VALUES ("'+sType+'", "'+sManuf+'", "'+ ReceivinOgEquipment.Edit_model.Text + '", "'+ ReceivinOgEquipment.Edit_serialNamber.Text + '", "'+ ReceivinOgEquipment.Edit_equipment.Text + '", "'+ ReceivinOgEquipment.Memo_descriptionATCsWords.Text + '", "'+ ReceivinOgEquipment.Memo_externalStatus.Text + '", "'+sDate+'")');
    ReceivinOgEquipment.Close;
end;

Все проблема решена
if (sType='-1') then

3 (edited by sibprogsistem 2018-05-05 15:32:59)

Re: Проверка заполнения

procedure ReceivinOgEquipment_ButtonOk_OnClick (Sender: TObject; var Cancel: boolean;);
 var sType : string = IntToStr(ReceivinOgEquipment.ComboBox_nameTypeOfEquipment.DbItemID);
     sManuf : string = IntToStr(ReceivinOgEquipment.ComboBox_nameManufacturer.DbItemID);
     sDate : string = FormatDateTime('dd-mm-yyyy',ReceivinOgEquipment.DateTime_dateInServise.Date);
    begin
    if (sType='-1') then
    showmessage('gcigvo')else
     begin
    SQLExecute('INSERT INTO client (firstNameClient, twoNameClient, lastNameClient, adresClient, passportNamberClient, passportSeriesClient, telephonClient) VALUES ("'+ReceivinOgEquipment.Edit_firstNameClient.Text+'", "'+ReceivinOgEquipment.Edit_twoNameClient.Text+'", "'+ReceivinOgEquipment.Edit_lastNameClient.Text + '", "'+ ReceivinOgEquipment.Edit_adresClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportSeriesClient.Text + '", "'+ ReceivinOgEquipment.Edit_passportNamberClient.Text + '", "'+ ReceivinOgEquipment.Edit_telephonClient.Text + '")');
    SQLExecute('INSERT INTO servise (id_TypeOfEquipment, id_manufacturer, model, serialNamber, equipment, descriptionATCsWords, externalStatus, dateInServise) VALUES ("'+sType+'", "'+sManuf+'", "'+ ReceivinOgEquipment.Edit_model.Text + '", "'+ ReceivinOgEquipment.Edit_serialNamber.Text + '", "'+ ReceivinOgEquipment.Edit_equipment.Text + '", "'+ ReceivinOgEquipment.Memo_descriptionATCsWords.Text + '", "'+ ReceivinOgEquipment.Memo_externalStatus.Text + '", "'+sDate+'")');
    ReceivinOgEquipment.Close;
     end;
end;

проблема с вылетающей ошибкой то же решена, было ошибка в синтаксисе