![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
No me funciona
He probado este codigo para insertar el Id, pero me dice que crearia campos duplicados y me da error, aunque sin embargo lo inserta en la base de datos:
String cadena; FPrincipal->ADOQListacandidatos->SQL->Clear( FPrincipal->ADOQListacandidatos->SQL->Add("INSERT INTO candidatos (Id) VALUES(\""+ECodigo->Text.Trim()+ "\")"); cadena = FPrincipal->ADOQListacandidatos->SQL->Text.Trim(); Edit1->Text = cadena; FPrincipal->ADOQListacandidatos->ExecSQL(); FPrincipal->ADOQListacandidatos->Active = true; FPrincipal->DBGCandidatos->DataSource = FPrincipal->DSListacandidatos; ¿Se os ocurre algo? |
|
#2
|
||||
|
||||
|
puess....
personalmente creo que es por el "ECodigo->Text"...., lo del ; esta bien. Esto es porque para pasar parametros a una consulta, no se puede meter en la cadena de la consulta un componente...solo se puede poner SQL!!!
para meter un parametro es asi: Cita:
Un saludo Antonio |
|
#3
|
|||
|
|||
|
Localizado el problema
El problema esta en el active:
FPrincipal->ADOQListacandidatos->Active = true; Si lo quito lo inserta bien y no da fallo, pero el problema es que entonces al volver a mostrar el formulario principal no me muestra los registros, y si pongo el active me da fallo. ¿Como puedo solucionarlo?. Gracias por todo. ![]() |
|
#4
|
|||
|
|||
|
Lo he solucionado asi
ADOQInsertar->SQL->Clear();
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Id) VALUES(\""+ECodigo->Text.Trim()+"\")"); FPrincipal->DSListacandidatos->DataSet = ADOQInsertar; ADOQInsertar->ExecSQL(); //ADOQInsertar->Active = true; //Esta queda inactiva FPrincipal->DSListacandidatos->DataSet = ADOQInsertar; FPrincipal->ADOQListacandidatos->Active = true; FPrincipal->DSListacandidatos->DataSet = FPrincipal->ADOQListacandidatos; FPrincipal->ADOQListacandidatos->Close(); Y cuando cierro el formulario hago: FPrincipal->ADOQListacandidatos->Open(); El problema que tengo ahora es que no se como hacer para insertar dos campos a la vez, es decir: ADOQInsertar->SQL->Add("INSERT INTO candidatos(Id,Nombre) VALUES(\""+ECodigo->Text.Trim()+" Segundo campo \")"); porque he probado con \"," y todo eso me da fallo. Un saludo. |
|
#5
|
|||
|
|||
|
Solucionado
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Id,Nombre) VALUES('"+ECodigo->Text.Trim()+"','"+ENombre->Text.Trim()+"')");
Gracias a tod@s |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|