Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll

nifilim

в чём ошибка
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) 
{
    char text1;
    int text2;
    char text3;
if(textBox1->Text !=""||textBox2->Text !="")
{
    array<wchar_t>^ text1 = textBox1->Text->ToCharArray();
    
    text2 = Convert::ToInt32(textBox2->Text);
 
    if(textBox3->Text !="")
    {array<wchar_t>^ text3 = textBox3->Text->ToCharArray();}
    oleDbDataAdapter1->SelectCommand->CommandText = "insert into Клиенты(Фио, Телефон, Коментарий) values("+text1+","+text2+","+text3+")";
 
    this->dataSet1->Clear();
    this->oleDbDataAdapter1->Fill(dataTable1);
 
}
else
{
label4->Text = "error";
}
 
 
             }
в таблице есть ещё один столбец id но он заполняется автоматически, может быть из-за него эта ошибкаНеобработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dllДополнительные сведения: Неправильный синтаксис около конструкции "".Имя объекта или столбца отсутствует или пусто. Убедитесь, что каждый из столбцов в инструкции SELECT INTO имеет имя. Для других инструкций проверьте наличие пустых имен-псевдонимов. Не допускаются псевдонимы, определенные как [] или "". Измените псевдоним на допустимое имя.
1 ответ

nifilim

nifilim, строки в SQL нужно окружать одинарными кавычками
oleDbDataAdapter1->SelectCommand->CommandText = "insert into Клиенты(Фио, Телефон, Коментарий) values('"+text1+"','"+text2+"','"+text3+"')";