![]() |
Capturar mensajes de error de SQL server
Hola a todos,
Sabeis como capturar los mensajes de error que devuelve sql server? Es decir, tengo desde delphi una Query: Query.close; Query.sql.clear; Query.sql.add('Update tabla set campo=valor where ......'); try Query.ExecSql except ---> y aqui es donde me gustaria recoger el error del gestor de base de datos para mostrarselo al usuario con una ventana de error propia. end; he visto que si no pongo el try except.. sale el error pero sale mu feo. ¿Sabes como obtener el error producido al ejecutar un Query.execSql ?? Gracias. David. |
Código:
try |
Gracias, con ello he podido coger solo el trozo de error que me interesa.
Dado que el error pone: General SQL error. [Microsoft][ODBC SQL Server Driver][SQL Server] NO SE PUEDE BLA BLA BLA [Microsoft][ODBC SQL Server Driver][SQL Server]La petición COMMIT TRANSACTION no tiene la correspondiente BEGIN TRANSACTION. [Microsoft][ODBC SQL Server Driver][SQL Server]Se terminó la instrucción. me he creado la siguiente funcion: function MsgErrorDB(s:String):String; var aux:String; i,j:integer; begin i:= pos('[SQL Server]',s); i:= i+ length('[SQL Server]'); aux:= copy(s,i+1, length(s)); j:= pos('[Microsoft]',aux); if j=0 then j:=length(aux); if (i=0) or (j=0) then aux:= s else aux:=#13+copy(aux,1,j-1); result:=aux; end; que me devuelve el error: NO SE PUEDE BLA BLA BLA |
La franja horaria es GMT +2. Ahora son las 12:53:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi