Cita:
values(:Id,:Nombre,:Continente)");
|
Si los nombres que ponen delante de los dos puntos "
:" coinciden con los nombres de los campos (caso de "Nombre" y "Continente") se debe usar FieldbyName para darle el valor, y si usamos un nombre distinto ( "ID" no es el nombre del campo, en realidad es "IDCOMPETICION") tenemos que usar ParambyName.
Código:
IBQuery2->SQL->Add("Insert into COMPETICION(IDCOMPETICION,NOMBRE,CONTINENTE)
values(:Idcompeticion,:Nombre,:Continente)");
IBQuery2->FieldbyName('idcompeticion')->AsString = Edit1->Text;
IBQuery2->FieldbyName('Nombre')->AsString = Edit2->Text;
IBQuery2->FieldbyName('continente')->AsString = Edit3->Text;
Código:
IBQuery2->SQL->Add("Insert into COMPETICION(IDCOMPETICION,NOMBRE,CONTINENTE)
values(: prIdcompeticion,: prNombre,: prContinente)");
IBQuery2->ParambyName('prIdcompeticion')->AsString = Edit1->Text;
IBQuery2->ParambyName('prNombre')->AsString = Edit2->Text;
IBQuery2->ParambyName('prContinente')->AsString = Edit3->Text;
Si estas usando DBEdits, no hace falta dar los "FieldbyName", los valores se recogerán automáticamente de dichos DBEdits.
PD: No estoy muy seguro de cuando se usa el operador flecha "->" o el operador punto ".", eso te toca a tí
Saludos