Ver Mensaje Individual
  #3  
Antiguo 13-11-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Angel.

En principio voy a decirte que estoy totalmente de acuerdo con Casimiro. Pero a modo ilustrativo, ya sea que uses un componente TIBSQL o un TIBQuery, tenes que fijar la propiedad ParamCheck en falso.

Un ejemplo trivial:
Código:
...
{
  // Verificar si ya existe
  IBQuery1->Close();
  IBQuery1->SQL->Clear();
  IBQuery1->SQL->Add("SELECT RDB$PROCEDURE_ID FROM RDB$PROCEDURES");
  IBQuery1->SQL->Add("WHERE RDB$PROCEDURE_NAME = 'SP_MULT'");
  IBQuery1->Open();

  if (IBQuery1->IsEmpty()) {  // si no existe -> crearlo
    IBSQL1->Close();
    IBSQL1->ParamCheck = false;  // <-
    IBSQL1->SQL->Clear();
    IBSQL1->SQL->Add("CREATE PROCEDURE SP_MULT(A INTEGER, B INTEGER)");
    IBSQL1->SQL->Add("RETURNS(RESULT INTEGER) AS");
    IBSQL1->SQL->Add("BEGIN");
    IBSQL1->SQL->Add("RESULT = :A * :B;");
    IBSQL1->SQL->Add("SUSPEND;");
    IBSQL1->SQL->Add("END");
    IBSQL1->ExecQuery();
  } else
    MessageBox(0, "El procedimiento almacenado ya existe", "", MB_ICONWARNING);
...
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita