Programación General > C++ Builder

 Problema al usar un Query

(1/1)

avefenix1810:
Hola a todos

Estoy haciendo una consulta y para eso estoy usando un TQuery. Hasta ahora tengo esto:

void __fastcall TForm1::Button4Click(TObject *Sender)
{
   AnsiString laConsulta;
   laConsulta = "DELETE FROM tsolicitantes";

   // SE BORRA LA PRIMER FILA DE LA TABLA
   laConsulta = laConsulta + "WHERE Id_Solicitantes = '1'";

   qPrimario->Close();
   qPrimario->SQL->Clear();
   qPrimario->SQL->Add(laConsulta);     // hasta acá todo bien
   qPrimario->ExecSQL();                     // aparentemente acá se produce el problema y no se como solucionarlo

   MessageDlg("Los datos se Borraron exitosamente", mtInformation, TMsgDlgButtons() << mbOK, 0);

}

Me arroja el siguiente cuadro de dialogo:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to near 'Id_Solicitantes = '1''

Donde Id_Solicitantes es la clave principal de la tabla autoincremental y no nula.

Me pueden ayudar por favor...  :gracias:

softevolutions:
El error lo tienes al concatenar la consulta, ya que no dejas un espacio en blanco al concatenar el WHERE.

Si haces un showmessage de la cadena lo verás mejor.




--- Código: C++ ---void __fastcall TForm1::Button4Click(TObject *Sender){   AnsiString laConsulta;   laConsulta = "DELETE FROM tsolicitantes<espacio en blanco>";    // SE BORRA LA PRIMER FILA DE LA TABLA   laConsulta = laConsulta + "WHERE Id_Solicitantes = '1'";    qPrimario->Close();   qPrimario->SQL->Clear();   qPrimario->SQL->Add(laConsulta);     // hasta acá todo bien   qPrimario->ExecSQL();                     // aparentemente acá se produce el problema y no se como solucionarlo    MessageDlg("Los datos se Borraron exitosamente", mtInformation, TMsgDlgButtons() << mbOK, 0); }  

Navegación

[0] Índice de Mensajes

Ir a la versión completa