Ver Mensaje Individual
  #5  
Antiguo 08-11-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
¡Soy muy burro! Pero mucho
La solución era tan fácil como esta:
Código:
Query->Close();
if (lNuevo)
{
     Query->SQL->Text = "INSERT INTO Persona (Apellidos, Nombre,  Nif, Sexo, F_nacim, Domicilio, Cpostal, Poblacion, Provincia, Profesion,  "
etc.
}
else
{
     Query->SQL->Text = "UPDATE Persona SET Apellidos =  :Apellidos, Nombre = :Nombre, Nif = :Nif, Sexo = :Sexo, F_nacim =  :F_nacim, "
                        "Domicilio = :Domicilio, Cpostal = :Cpostal,  Poblacion = :Poblacion, Provincia = :Provincia, Profesion = :Profesion, "
                        "C_electronico = :C_electronico, Telefono_1 =  :Telefono_1, Telefono_2 = :Telefono_2, Telefono_3 = :Telefono_3, "
                        "Situacion = :Situacion, Correo = :Correo,  Lo1599 = :Lo1599, F_alta = :F_alta, N_afiliado = :N_afiliado, "
                        "Afiliacion = :Afiliacion, Junta = :Junta,  Referencia = :Referencia, PerPago = :PerPago, ForPago = :ForPago, "
                        "Cuota = :Cuota, Iban = :Iban, Cuenta = :Cuenta,  Bic = :Bic, Observaciones = :Observaciones, UsuMod = :UsuMod, "
                        "FecMod = :FecMod WHERE CodPrv = (SELECT Literal  FROM Instalacion WHERE Etiqueta = 'Provincia') AND Codigo = :Codigo";
      Query->ParamByName("Codigo")->AsInteger = GroupBox1->Tag;     // Lo subo aquí
}

Query->ParamByName("Apellidos")->AsString = Apellidos->Text;
Query->ParamByName("Nombre")->AsString    = Nombre->Text;
Query->ParamByName("Nif")->AsString           = Nif->Text;
etc.
Si no está declarado el parámetro en el query, ¿para qué complicarme la vida comprobando DESPUÉS si existe o no?
Responder Con Cita