Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Error: ...No se puede crear una nueva transacción, se excedió la capacidad... (https://www.clubdelphi.com/foros/showthread.php?t=45513)

Roilo 05-07-2007 15:33:11

Error: ...No se puede crear una nueva transacción, se excedió la capacidad...
 
Un abraso al FORO.
Bueno. Estoy trabajando en Intraweb y utilizo bases de datos SQL Server 2002 (Delphi 7).
Ya logré insertar registros en una tabla. Para ello utilizo un TSimpleDataSet , y un botón que contiene el siguiente código:
Código Delphi [-]
 .... 
 With ConsolaDatos.SDSbusqueda do // SDSbusqueda es el TSimpleDataSet que trabaja sobre la tabla motivos
  begin
   Open ;
   insert;
   FieldByName('ID').AsInteger := id ; 
   FieldByName('Nombre').AsString := nombre.Text ;
   FieldByName('NoRegistro').AsString := NRegistro.Text ;
   FieldByName('Apellidos').AsString := Apellidos.Text ;
   FieldByName('CentroTrab').AsString := trabajo.Text ;
   FieldByName('Cargo').AsString := Cargo.Text ;
   FieldByName('Direccion').AsString := Direccion.Text ;
   if csocial.Checked = true then
   FieldByName('CSocial').AsString := 'Sí' else
   FieldByName('CSocial').AsString := 'No';
   FieldByName('TelParticular').AsString := telefonop.Text ;
   FieldByName('TelTrabajo').AsString := telefonot.Text ;
   if motivo.ItemIndex <> -1 then
   FieldByName('Motivo').AsString := Motivo.Text else
   FieldByName('Motivo').AsString := 'Solicitud';
   FieldByName('FecEfect').AsString := Fecha.Text ;
   FieldByName('Categoria').AsString := categoria.Text ;
   FieldByName('IDCategoria').AsString := Descripcion.Text ;
   FieldByName('Area').AsString := Area.Text ;
   FieldByName('Transferido').AsString := Transferido.Text ;
   FieldByName('FecTramitacion').AsString := FechaTram.Text ;
   FieldByName('Observaciones').AsString := observaciones.Text ;
   FieldByName('entrevistacon').AsString := Entrevistacon.Text ;
   FieldByName('estado').AsString := 'En proceso' ;
   if Investigado.Caption <> 'En Proceso' then
   FieldByName('Investigado').AsString := Investigado.Caption ;
   ApplyUpdates(-1);
   Close ;
   borrar.OnClick (self); // limpia todos los campos del formulario
  end;

Este código funciona...pero cuando paso a otro botón de mi aplicación, el que ejecuta esta consulta:
Código SQL [-]
SELECT 
DISTINCT m.id, m.motivo,
(SELECT count(motivo) FROM control WHERE motivo=m.motivo) as Cantidad
FROM control, motivos as m
ORDER BY m.id
[/size]

Cuando quiero volver a insertar me surge el error:
...no de puede crear una nueva transacción, se excedió la capacidad...
y se me ubica el puntero dentro del código de insertar cerca de ApplyUpdates(-1);
Si tienen algo que decirme respecto al tema, me serviría de mucha ayuda.
GRACIAS de antemano.


La franja horaria es GMT +2. Ahora son las 13:50:53.

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