Количество столбцов не соответствует значению в строке 1 angular 8 - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу добавить поставщика в свою базу данных, поэтому я отправляю запрос POST через мое Angular приложение:

vendor.service.ts:

  addVendor(data) {
    return this.http.post<any>(this.apiUrl + `vendormanagement/`, data)
      .pipe(map(res => {
        return res;
      }));
  }

, чтобы добавить Поставщик в базе данных. Я нажимаю API от vendor-add.component.ts:

ngOnInit() {
    this.firstFormGroup = this._formBuilder.group({
      organization_name: ['', Validators.required],
      type_of_company: ['', Validators.required],
      address: ['', Validators.required],
      city: ['', Validators.required],
      state: ['', Validators.required],
      pincode: ['', Validators.required]
    });
    this.secondFormGroup = this._formBuilder.group({
      spoc_name: ['', Validators.required],
      spoc_email: ['', Validators.required],
      spoc_number: ['', Validators.required],
    });
    this.thrirdFormGroup = this._formBuilder.group({
      spoc_timing: this._formBuilder.array([this._formBuilder.group({ day: '', timing: ''})])
    }),
    this.fourthFormGroup = this._formBuilder.group({
      products: ['', Validators.required],
      gst: ['', Validators.required],
      pan: ['', Validators.required],
      margin: ['', Validators.required],
      payment_collected: ['', Validators.required],
      due: ['', Validators.required],
      reimbursed: ['', Validators.required],
    });
  }



  onSubmit() {
    this.formJoin = {
      ...this.firstFormGroup.value,
      ...this.secondFormGroup.value,
      ...this.thrirdFormGroup.value,
      ...this.fourthFormGroup.value,
    }

    this.vendorService.addVendor(this.formJoin).subscribe( res => {
      console.log('Vendor Added Successfully');
      alert('Vendor Added Successfully...');
    });
  }

Но когда я отправляю форму. Я получаю следующую ошибку:

message: "insert into `vendormanagement` (`address`, `city`, `createdAt`, `due`, `gst`, `margin`, `organization_name`, `pan`, `payment_collected`, `pincode`, `products`, `reimbursed`, `spoc_email`, `spoc_name`, `spoc_number`, `spoc_timing`, `state`, `type_of_company`, `updatedAt`) values ('Loren Ipsum', 'Loren Ipsum', '2020-04-15 09:39:05.386', '12', '12', '12', 'Loren Ipsum', '12', '12', '1', 'a', '12', 'Loren Ipsum', 'Loren Ipsum', '1', {"day":"Monday","timing":"1:30-4:30PM"}, {"day":"Tuesday","timing":"1:30-4:30PM"}, {"day":"Wednesday","timing":"1:30-4:30PM"}, {"day":"Thursday","timing":"1:30-4:30PM"}, {"day":"Friday","timing":"1:30-4:30PM"}, {"day":"Saturday","timing":"1:30-4:30PM"}, {"day":"Sunday","timing":"1:30-4:30PM"}, 'Loren Ipsum', 'Loren Ipsum', '2020-04-15 09:39:05.386') - Column count doesn't match value count at row 1"

Я сравнил схему отправляемой формы и схему той же таблицы (<sql>vendormanagement</sql>) в базе данных. Оба одинаковы.

Кто-нибудь может подсказать, что здесь происходит не так?

Я использую Angular версию 8.3.25.

1 Ответ

0 голосов
/ 15 апреля 2020

Проверьте значение для столбца spoc_timing в скрипте вставки, его нужно заключить в одинарные кавычки, например:

'{"day":"Monday","timing":"1:30-4:30PM"}, {"day":"Tuesday","timing":"1:30-4:30PM"}, {"day":"Wednesday","timing":"1:30-4:30PM"}, {"day":"Thursday","timing":"1:30-4:30PM"}, {"day":"Friday","timing":"1:30-4:30PM"}, 
{"day":"Saturday","timing":"1:30-4:30PM"}, {"day":"Sunday","timing":"1:30-4:30PM"}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...