PDA

Ver la Versión Completa : Problemas con inserciones masivas


gusanita
15-12-2005, 17:18:57
Hola!!!

Tengo un problema espero puedan ayudarme, se trata de una insercion masiva de una base de datos a otra, estoy trabajando con delphi 5 y las bases de datos estan en acces, resulta que intento trasladar registros de una base de datos a otra, el siguiente es mi código:

DataModuleBD.TBDBAJAS.TableName:=nombretabla.Text;
DataModuleBD.TBAJDELAL.Active:=True;
DataModuleBD.TBDBAJAS.Active:=True;
DataModuleBD.Query.Close;
DataModuleBD.Query.SQL.Clear;
DataModuleBD.Query.SQL.Add('Insert InTo ":BDBECAS_BAJDEF:BAJDELAL"');
DataModuleBD.Query.SQL.Add('(ALU_CTRL, BD_MTV, BD_PIN, BD_AIN, BD_SEM, BD_PTR, BD_ATR)');
DataModuleBD.Query.SQL.Add('Select ALU_CTR, MBA_DES, ALU_PER, ALU_PAN, ALU_SEM, ALU_PET, ALU_PAT');
DataModuleBD.Query.SQL.Add('From ":BDBAJDEF:'+nombretabla.Text+'"');
DataModuleBD.Query.SQL.Add(';');
DataModuleBD.Query.Open;
DataModuleBD.TBAJDELAL.Active:=False;
DataModuleBD.TBDBAJAS.Active:=False;
showmessage('LA ACTUALIZACION DE LA TABLA FUE TODO UN EXITO');
nombretabla.Text:='';

Y si hace la insersion, me pasa todos los resgistros, ya sean ma de 100, el problema es que en la ejecución me manda un mensaje :

ERROR CREATING CURSOR HANDLE

y pues ese es mi problema, no se como desaserme de ese error, porfavor espero me ayuden...

De ante mano gracias!!!!:)

vtdeleon
15-12-2005, 17:28:21
Saludos
Bienvenido al Club, te recomiendo la lectura de la guia de estilo, asi como el uso de las etiquetas. Todo esto lo puede encontrar en mi firma;)

El error esta en esta linea
DataModuleBD.Query.Open;
Para Insercion, modificacion y eliminacion se debe usar ExecSql no Open, este ultimo solo para Select

gusanita
16-12-2005, 06:40:37
Hola nuevamente!!!

Solo para agredecer, ya realicé la correción y funciona muy bien!!!
Graicas por la atención prestada!!!
Ahhh, y tambien por el otro consejo...

:) Gracias!!!