Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2006
alfil123 alfil123 is offline
Miembro
 
Registrado: nov 2005
Posts: 116
Poder: 19
alfil123 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 06-12-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 06-12-2006
alfil123 alfil123 is offline
Miembro
 
Registrado: nov 2005
Posts: 116
Poder: 19
alfil123 Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 06-12-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 23
vtdeleon Va por buen camino
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!
Responder Con Cita
  #5  
Antiguo 06-12-2006
alfil123 alfil123 is offline
Miembro
 
Registrado: nov 2005
Posts: 116
Poder: 19
alfil123 Va por buen camino
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.
Código Delphi [-]
//***
Código Delphi [-]
 INSERTAR UNA VENTA
function 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

Última edición por vtdeleon fecha: 06-12-2006 a las 18:41:27.
Responder Con Cita
  #6  
Antiguo 06-12-2006
alfil123 alfil123 is offline
Miembro
 
Registrado: nov 2005
Posts: 116
Poder: 19
alfil123 Va por buen camino
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 16:49:33.
Responder Con Cita
  #7  
Antiguo 06-12-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
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:


Código Delphi [-]
cadenaSQL := 'Insert into myTablas values(........';

etiqueta1.caption := cadenaSQL;

// y ya despues ponerla en 
cm.commandtext := cadenaSQL;
__________________
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas para la insercion de Registros taru MySQL 7 14-07-2006 06:20:00
problemas con insercion en procedure pani_alex Conexión con bases de datos 1 05-06-2006 18:53:53
problemas en un insercion de un nuevo registros alfil123 Conexión con bases de datos 2 25-01-2006 03:00:06
Problemas en insercion de registros ilichhernandez Conexión con bases de datos 6 02-11-2005 11:00:57
Problemas con inserción, !!Extraño¡¡ mosorio Conexión con bases de datos 0 24-05-2003 18:39:16


La franja horaria es GMT +2. Ahora son las 22:36:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi