SQLTransaction error...

09/11/2005 - 21:10 por Hugo Segovia | Informe spam
Saludos.

Estoy realizando una función para guardar los cambios, la primera vez que
presiono el botón guardar... funciona perfectamente, al momento que ingreso
nuevos datos y presiono nuevamente grabar me da el siguiente error.
Excepción no controlada del tipo 'System.NullReferenceException' en
Pronaca.Desarrollo.Agenda.exe

Información adicional: Referencia a objeto no establecida como instancia de
un objeto.


ESTA ES LA FUNCION QUE APLICO PARA GUARDAR

Public Function bolInsertarAgenda2(ByVal codigo As String, ByVal nombre As
String, ByVal direccion As String, ByVal obs As String) As Boolean

bolInsertarAgenda2 = False

Dim tran As SqlTransaction
Try
'Paso el objeto cn.BeginTransaction a la variable del Objeto
Transacción
Dim conexion As New conexion
tran = cn.BeginTransaction() >AQUI SE DA EL ERROR



Dim frmagenda = New frmagenda
Dim da As New SqlDataAdapter("Select * from agenda", cn)
Dim ds As New DataSet
Dim dr As DataRow
Dim drCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(da)
da.SelectCommand.Transaction = tran
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
da.Fill(ds, "agenda")
dr = ds.Tables("agenda").NewRow()
dr("codigo") = codigo
MsgBox(codigo, MsgBoxStyle.Exclamation)

dr("nombre") = nombre
dr("Direccion") = direccion
dr("obs") = obs
ds.Tables("agenda").Rows.Add(dr)
da.Update(ds, "agenda")



tran.Commit() 'Si Todo está correcto bajo los datos a la Tabla
bolInsertarAgenda2 = True

Catch ex As Exception

tran.Rollback() 'Si existe algún error elimino toda la transacción
Throw ex
Finally
cn.Close()
End Try

End Function

Preguntas similare

Leer las respuestas

#1 A.Poblacion
10/11/2005 - 09:13 | Informe spam
"Hugo Segovia" wrote in message
news:
Dim conexion As New conexion
tran = cn.BeginTransaction() >AQUI SE DA EL ERROR
[...]
cn.Close()



Algo tienes liado con las conexiones: Declaras "conexion" pero luego
usas "cn". Y tienes puesto un "Close()", pero no tienes el "Open()" por
ninguna parte.
Respuesta Responder a este mensaje
#2 Hugo Segovia
10/11/2005 - 20:05 | Informe spam
Saludos,

Lo que pasa es que instancio una conexión donde cn es constructor de la
clase... pero ese no es el problema...



"A.Poblacion" escribió:

"Hugo Segovia" wrote in message
news:
> Dim conexion As New conexion
> tran = cn.BeginTransaction() >AQUI SE DA EL ERROR
> [...]
> cn.Close()

Algo tienes liado con las conexiones: Declaras "conexion" pero luego
usas "cn". Y tienes puesto un "Close()", pero no tienes el "Open()" por
ninguna parte.




Respuesta Responder a este mensaje
#3 Silviall
11/11/2005 - 09:49 | Informe spam
Parece que la variable cn es nothing, comprueba que algun otro sitio no la
pongas a nothing.

"Hugo Segovia" escribió en el
mensaje news:
Saludos.

Estoy realizando una función para guardar los cambios, la primera vez que
presiono el botón guardar... funciona perfectamente, al momento que
ingreso
nuevos datos y presiono nuevamente grabar me da el siguiente error..
Excepción no controlada del tipo 'System.NullReferenceException' en
Pronaca.Desarrollo.Agenda.exe

Información adicional: Referencia a objeto no establecida como instancia
de
un objeto.


ESTA ES LA FUNCION QUE APLICO PARA GUARDAR

Public Function bolInsertarAgenda2(ByVal codigo As String, ByVal nombre As
String, ByVal direccion As String, ByVal obs As String) As Boolean

bolInsertarAgenda2 = False

Dim tran As SqlTransaction
Try
'Paso el objeto cn.BeginTransaction a la variable del Objeto
Transacción
Dim conexion As New conexion
tran = cn.BeginTransaction() >AQUI SE DA EL ERROR



Dim frmagenda = New frmagenda
Dim da As New SqlDataAdapter("Select * from agenda", cn)
Dim ds As New DataSet
Dim dr As DataRow
Dim drCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(da)
da.SelectCommand.Transaction = tran
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
da.Fill(ds, "agenda")
dr = ds.Tables("agenda").NewRow()
dr("codigo") = codigo
MsgBox(codigo, MsgBoxStyle.Exclamation)

dr("nombre") = nombre
dr("Direccion") = direccion
dr("obs") = obs
ds.Tables("agenda").Rows.Add(dr)
da.Update(ds, "agenda")



tran.Commit() 'Si Todo está correcto bajo los datos a la Tabla
bolInsertarAgenda2 = True

Catch ex As Exception

tran.Rollback() 'Si existe algún error elimino toda la
transacción
Throw ex
Finally
cn.Close()
End Try

End Function


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