FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
problemas en una operacion de insercion una db
hola amigos les escribo porque al insertar un nuevo registro se produce el siguiente errorProject Creditos.exe raised exception class EOleException with message "No se pudo iniciar la transaccion;ya hay demasiadas transacciones anidadas'. process stopped. Use Step or Run to continue.amigos porfavor ayuda
|
#2
|
||||
|
||||
MMMH,
no nos dice (bueno a mi) mucho la explicacion de tu problema: lo que deduzco es que posiblemente sea SQL Server por el mensaje en español, trata de decirnos como lo haces, es un un simple insert, o el insert esta en un procedimiento almacenado en la base de datos, quizas hagas un WHILE y dentro del cupero del While, abras la trasaccion y otra vez la abras y otra vez.... no sè, no sè cuentanos más por fvor
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
#3
|
|||
|
|||
grasias por responder tan rapido, bueno la base de datos que estoy usando es access, el proceso que uso para insertar es.//*** INSERTAR UNA VENTAfunction Insertar(cn:TADOConnection; var Error:String;NroCredito:string; IDCliente:string;Cuenta:string; Monto:string; TipoDoc:String;SerieDoc:string;NroDoc:String;Fecha:string; Cancelado:string;Contabilidad:string; Almacen:string;Fiscal:string;Responsable:string;Grid:TStringGrid):Boolean;var Retorno:boolean; cm : TADOCommand; i:integer;Begin Try Retorno:=True; cn.BeginTrans; /// cm := TADOCommand.Create(nil); cm.Connection := cn; // INSERTAR CABECERA DEL CREDITO cm.CommandText := ' INSERT INTO TCREDITO VALUES ('+ (NroCredito)+','+ QuotedStr(IDCliente)+','+ QuotedStr(Cuenta)+','+ Monto+','+ QuotedStr(TipoDoc)+','+ QuotedStr(SerieDoc)+','+ QuotedStr(NroDoc)+','+ QuotedStr(Fecha)+','+ QuotedStr(Cancelado)+','+ QuotedStr(Contabilidad)+','+ QuotedStr(Almacen)+','+ QuotedStr(Fiscal)+','+ QuotedStr(Responsable)+')'; cm.Execute;""ESTA ES LA LINAR DONDE SEPRODUCE EL ERRORR"" // INSERTAR DETALLE DEL CREDITO for i := 1 To Grid.RowCount-2 do begin cm.Connection := cn; cm.CommandText := ' INSERT INTO TDETALLECREDITO VALUES ('+ (NroCredito)+','+ QuotedStr(grid.cells[1,i])+','+ (grid.cells[0,i])+','+ QuotedStr(grid.cells[2,i])+','+ (grid.cells[3,i])+','+ (grid.cells[4,i])+','+ (grid.cells[5,i])+')'; cm.Execute; end; cn.CommitTrans; except on E : Exception do begin Error:=E.Message; cn.RollbackTrans; Retorno:=False; end; end; Insertar:=Retorno;End;amigos una cosa mas la base de datos se a reducido de tamaño, no se porque, pero no es perdido registros, bueno antes era de 80 mb pero ahora es de 5
|
#4
|
||||
|
||||
Tenemos un sancocho aquí
alfil123, trata de arreglar tu código porque no se entiende nada de nada. Siempre que envies un mensaje revisalo! Asi no sucederá esto
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
|||
|
|||
amigos perdon por el desastre,
grasias por responder tan rapido, bueno la base de datos que estoy usando es access, el proceso que uso para insertar es.
amigos una cosa mas la base de datos se a reducido de tamaño, no se porque, pero no es perdido registros, bueno antes era de 80 mb pero ahora es de 5 Última edición por vtdeleon fecha: 06-12-2006 a las 17:41:27. |
#6
|
|||
|
|||
amigos en la linea cm.Execute;, se dispara este error con un dll "Access violation at addres 1B015CB5 in module 'msjet40.dll'" 015064D2 'msado15.dll'var Retorno:boolean; cm : TADOCommand; i:integer;Begin Try Retorno:=True; cn.BeginTrans; /// cm := TADOCommand.Create(nil); cm.Connection := cn; // INSERTAR CABECERA DEL CREDITO cm.CommandText := ' INSERT INTO TCREDITO VALUES ('+ (NroCredito)+','+ QuotedStr(IDCliente)+','+ QuotedStr(Cuenta)+','+ Monto+','+ QuotedStr(TipoDoc)+','+ QuotedStr(SerieDoc)+','+ QuotedStr(NroDoc)+','+ QuotedStr(Fecha)+','+ QuotedStr(Cancelado)+','+ QuotedStr(Contabilidad)+','+ QuotedStr(Almacen)+','+ QuotedStr(Fiscal)+','+ QuotedStr(Responsable)+')'; cm.Execute;
Última edición por alfil123 fecha: 06-12-2006 a las 15:49:33. |
#7
|
||||
|
||||
alfil, no puedes concatenar una cadena de texto y una variable numerica, lo que haces con nroCredito, y monto es esto:
nroCredito := 123456 'values (' + nroCredito + ',' + ect ect no es posible esto, debes de conertir a cadena de texto la variable para pdoer concatenarla, ojo no debes agregarle comillas. 'values (' + inttoStr(nroCredito) + ',' ect ect o 'values (' + floattoStr(nroCredito) + ',' ect ect ojala sea eso. trata antes de ejecutar tu consulta, ponerla en una etiqueta o en algo donde peudas visualizarla: ejemplo:
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas para la insercion de Registros | taru | MySQL | 7 | 14-07-2006 05:20:00 |
problemas con insercion en procedure | pani_alex | Conexión con bases de datos | 1 | 05-06-2006 17:53:53 |
problemas en un insercion de un nuevo registros | alfil123 | Conexión con bases de datos | 2 | 25-01-2006 02:00:06 |
Problemas en insercion de registros | ilichhernandez | Conexión con bases de datos | 6 | 02-11-2005 10:00:57 |
Problemas con inserción, !!Extraño¡¡ | mosorio | Conexión con bases de datos | 0 | 24-05-2003 17:39:16 |
|