Как мне исправить ошибку? Ошибка при добавлении товара:ADOQuery1: Parameter 'name' not found
C++
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include "Unit108.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm108 *Form108;
TADOConnection *ADOConnection1;
TADOQuery *ADOQuery1;
TDBGrid *DBGrid1;
TDataSource *DataSource1;


//---------------------------------------------------------------------------
__fastcall TForm108::TForm108(TComponent* Owner)
	: TForm(Owner)
{


}
//---------------------------------------------------------------------------

void __fastcall TForm108::FormCreate(TObject *Sender)
{
	// создание базы данных / таблицы, если их ещё не существует
	String s;
	s = "CREATE DATABASE IF NOT EXISTS `catalog`";
	ADOQuery1->SQL->Text = s;
	ADOQuery1->ExecSQL();
	s = "CREATE TABLE IF NOT EXISTS `catalog`.`products` (`ID` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `price` FLOAT(8, 2) NOT NULL, `description` TEXT NOT NULL, `image` LONGBLOB NOT NULL, PRIMARY KEY (`ID`))";
	ADOQuery1->SQL->Text = s;
	ADOQuery1->ExecSQL();

}
//---------------------------------------------------------------------------


void __fastcall TForm108::Button2Click(TObject *Sender)
{
    // Проверяем пустые поля
    if (Edit1->Text == "" || Edit2->Text == "" || Edit3->Text == "")
    {
        ShowMessage("Заполните все поля!");
        return;
    }

    // Проверяем наличие изображения
    if (OpenPictureDialog1->FileName.IsEmpty())
    {
        ShowMessage("Выберите изображение!");
        return;
    }

    try
    {
        TFileStream *fs = new TFileStream(OpenPictureDialog1->FileName, fmOpenRead);
        try
        {
            // Указываем параметры для запроса
            ADOQuery1->SQL->Text = "INSERT INTO `catalog`.`products` (`name`, `price`, `description`, `image`) VALUES (?, ?, ?, ?)";
            ADOQuery1->Parameters->ParamByName("name")->Value = Edit1->Text;
            ADOQuery1->Parameters->ParamByName("price")->Value = StrToFloat(Edit2->Text);
            ADOQuery1->Parameters->ParamByName("description")->Value = Edit3->Text;

            // Создаем поток для передачи изображения в базу данных
            TMemoryStream *stream = new TMemoryStream();
            try
            {
				stream->CopyFrom(fs, 0);
                stream->Position = 0;
                ADOQuery1->Parameters->ParamByName("image")->LoadFromStream(stream, ftBlob);
                ADOQuery1->ExecSQL();
            }
            __finally
            {
                delete stream;
            }
        }
        __finally
        {
            delete fs;
		}

        // Очистка полей ввода
        Edit1->Clear();
        Edit2->Clear();
        Edit3->Clear();

        // Очистка изображения
        Image1->Picture->Assign(NULL);

        // Обновление данных в таблице
        ADOQuery1->Close();
        ADOQuery1->Open();
    }
    catch (Exception &e)
    {
        ShowMessage("Ошибка при добавлении товара: " + e.Message);
    }
}
//---------------------------------------------------------------------------


void __fastcall TForm108::Button3Click(TObject *Sender)
{
    if (OpenPictureDialog1->Execute())
	{
        Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
    }
}
//---------------------------------------------------------------------------