hermes_32
11-08-2004, 09:41:44
Hola amigos delphianos.
El problema que tengo es en la creacion de una tabla dinamicamente y no tengo ni idea que puede pasar porque no da mensaje de error. Tengo el siguiente procedimiento:
procedure GrabarError(Cod_Error, Nombre, Descripcion: String);
var tb_errores : TTable;
begin
tb_errores := TTable.Create(nil);
with tb_errores do begin
try
DatabaseName := 'DBSTAR';
TableName := 'PROC_ERR';
Open;
Append;
FieldByName('COD_ERROR').AsString := Cod_Error;
FieldByName('DES_ERROR').AsString := Nombre;
FieldByName('MEM_CAUSA').AsString := Descripcion;
FieldByName('HOR_ERROR').AsDateTime := Date;
Post;
Close;
finally
Free;
end;
end;
end;
Como puede verse es bastante sencillo. Este procedimiento es llamado "n" veces por otro proceso que lo llama cuando se genera un error al leer las líneas de un fichero. La primera vez lo hace bien, pero la segunda vez que se llama se queda colgado cuando intenta hacer el "open" de la tabla. No da mensaje de error y se queda ahí etermanente.
Por si sirve de algo, la base de datos a la que se ataca es SQL-Server.
A alguien se le ocurre algo? Gracias.
El problema que tengo es en la creacion de una tabla dinamicamente y no tengo ni idea que puede pasar porque no da mensaje de error. Tengo el siguiente procedimiento:
procedure GrabarError(Cod_Error, Nombre, Descripcion: String);
var tb_errores : TTable;
begin
tb_errores := TTable.Create(nil);
with tb_errores do begin
try
DatabaseName := 'DBSTAR';
TableName := 'PROC_ERR';
Open;
Append;
FieldByName('COD_ERROR').AsString := Cod_Error;
FieldByName('DES_ERROR').AsString := Nombre;
FieldByName('MEM_CAUSA').AsString := Descripcion;
FieldByName('HOR_ERROR').AsDateTime := Date;
Post;
Close;
finally
Free;
end;
end;
end;
Como puede verse es bastante sencillo. Este procedimiento es llamado "n" veces por otro proceso que lo llama cuando se genera un error al leer las líneas de un fichero. La primera vez lo hace bien, pero la segunda vez que se llama se queda colgado cuando intenta hacer el "open" de la tabla. No da mensaje de error y se queda ahí etermanente.
Por si sirve de algo, la base de datos a la que se ataca es SQL-Server.
A alguien se le ocurre algo? Gracias.