![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
yo empezaria por
Código:
ADOQInsertar->SQL->Clear();
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES("+ENombre->Text.Trim()+");");
cadena = ADOQInsertar->SQL->Text.Trim();
Edit1->Text = cadena;
ADOQInsertar->ExecSQL();
ADOQInsertar->Active = true;
FPrincipal->DBGCandidatos->DataSource = DSInsertar;
?, otra mas.........creo q deberias encerrar entre comillas o comillas dobles el nombre (xq supogo q es una cadena), seria algo asi....Código:
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES('"+ENombre->Text.Trim()+"');");
//o asi....
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES(\""+ENombre->Text.Trim()+"\");");
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). Última edición por OSKR fecha: 03-11-2005 a las 22:38:02. |
|
#2
|
||||
|
||||
|
no se si sea porque es en Builder, pero siguiendo mi poco conocimiento de la matería: no logro entender porque al final de la secuencia SQL le agregas un punto y coma. Al menos a mi me parece extraño.
Cita:
Coincido con el detalle de las comillas al momento de pasar el nombre...
__________________
|
|
#3
|
|||
|
|||
|
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? |
|
#4
|
||||
|
||||
|
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 |
|
#5
|
|||
|
|||
|
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. ![]() |
|
#6
|
|||
|
|||
|
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. |
|
#7
|
|||
|
|||
|
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 | |
|
|
|