Último error

28/07/2004 - 22:20 por jaimito | Informe spam
Hola compañeros...

Teniendo un fragmento de código así (DE EJEMPLO!!!):

Try

mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"
SqlConnection myConn = new SqlConnection(myConnString)
SqlCommand myComm = new SqlCommand(mySelectQuery,myConn)
myConn.Open();
SqlDataReader myReader = myComm.ExecuteReader();

Catch ex As Exception

'capturamos el error

End Try

PREGUNTA:
¿Es posible saber en el código dentro CATCH, que la SQL
que se intentó ejecutar fue "SELECT OrderID, CustomerID
FROM Orders"?

Dicho de otra forma, ¿cuando se genera SQLServer es
posible saber que última sentencia SQL estaba ejecutándose?

Gracias...

Preguntas similare

Leer las respuestas

#1 Sergio Florez M.
28/07/2004 - 22:25 | Informe spam
Puedes capturar un SqlException en vez de simplemente un Exception y
trabajar con la informacion detallada que entrega. Aqui te va un ejemplo
tomado de MSDN:

Public Sub ShowSqlException()
Dim mySelectQuery As String = "SELECT column1 FROM table1"
Dim myConnection As New SqlConnection ("Data
Source=localhost;Integrated Security=SSPI;Initial Catalog=Sample;")
Dim myCommand As New SqlCommand(mySelectQuery, myConnection)

Try
myCommand.Connection.Open()
Catch e As SqlException
Dim errorMessages As String
Dim i As Integer

For i = 0 To e.Errors.Count - 1
errorMessages += "Index #" & i.ToString() &
ControlChars.NewLine _
& "Message: " & e.Errors(i).Message &
ControlChars.NewLine _
& "LineNumber: " & e.Errors(i).LineNumber &
ControlChars.NewLine _
& "Source: " & e.Errors(i).Source &
ControlChars.NewLine _
& "Procedure: " & e.Errors(i).Procedure &
ControlChars.NewLine
Next i

Dim log As System.Diagnostics.EventLog = New
System.Diagnostics.EventLog()
log.Source = "My Application"
log.WriteEntry(errorMessages)
Console.WriteLine("An exception occurred. Please contact your system
administrator.")
End Try
End Sub

Sergio Florez M.
Miembro activo www.AlianzaDev.net
El que persevera insiste
Medellín, Colombia


"jaimito" escribió en el mensaje
news:619101c474e0$511f0420$
Hola compañeros...

Teniendo un fragmento de código así (DE EJEMPLO!!!):

Try

mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"
SqlConnection myConn = new SqlConnection(myConnString)
SqlCommand myComm = new SqlCommand(mySelectQuery,myConn)
myConn.Open();
SqlDataReader myReader = myComm.ExecuteReader();

Catch ex As Exception

'capturamos el error

End Try

PREGUNTA:
¿Es posible saber en el código dentro CATCH, que la SQL
que se intentó ejecutar fue "SELECT OrderID, CustomerID
FROM Orders"?

Dicho de otra forma, ¿cuando se genera SQLServer es
posible saber que última sentencia SQL estaba ejecutándose?

Gracias...
Respuesta Responder a este mensaje
#2 Daniel Sharp
28/07/2004 - 22:33 | Informe spam
claro que si
solo tu variable mySelectQuery debe estar declarada antes del Try

saludos
daniel #

"jaimito" wrote in message
news:619101c474e0$511f0420$
Hola compañeros...

Teniendo un fragmento de código así (DE EJEMPLO!!!):

Try

mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"
SqlConnection myConn = new SqlConnection(myConnString)
SqlCommand myComm = new SqlCommand(mySelectQuery,myConn)
myConn.Open();
SqlDataReader myReader = myComm.ExecuteReader();

Catch ex As Exception

'capturamos el error

End Try

PREGUNTA:
¿Es posible saber en el código dentro CATCH, que la SQL
que se intentó ejecutar fue "SELECT OrderID, CustomerID
FROM Orders"?

Dicho de otra forma, ¿cuando se genera SQLServer es
posible saber que última sentencia SQL estaba ejecutándose?

Gracias...
Respuesta Responder a este mensaje
#3 jaimito
28/07/2004 - 22:35 | Informe spam
Gracias Daniel, pero la idea es que sea algo generico, es
decir, independiente de la variable. Imagínate si no
hubiese utilizado una variable sino una cadena
directamente.

Gracias de nuevo.

claro que si
solo tu variable mySelectQuery debe estar declarada antes


del Try

saludos
daniel #
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida