Visual Basic.NET - Problema con OdbcAdapter.Command

 
Vista:

Problema con OdbcAdapter.Command

Publicado por CALLEJA RAMIREZ ALEJANDRA (1 intervención) el 14/06/2013 19:05:33
Hola tengo una clase que quiero que me sirva para agregar, modificar, eliminar datos de una tabla en Access, aparentemente a la hora de depurar me hace todo bien, no hay fallos, pero a la hora de comprobar si se ha modificado la base de datos veo que no ha contemplado nigún cambio.
Mi código es el siguiente:

Public Function agregarEmpleado(pNIFEmp As String, pApeNomEmp As String, pTelEmp As String, pMailEmp As String, pFKIdUnidad As Integer, pActivo As Boolean, pobservaciones As String) As Boolean
Dim dsEmpleado As DataSet
Dim daEmpleado As OdbcDataAdapter

daEmpleado = New OdbcDataAdapter("SELECT * FROM Empleados", cnGlobal)
dsEmpleado = New DataSet
daEmpleado.Fill(dsEmpleado)

dsEmpleado.Tables.Add("Empleados")

Dim dataTableEmpleado As New DataTable("Empleados")

Dim cm As OdbcCommand = New OdbcCommand("SELECT MAX(IdEmpleado) FROM Empleados", cnGlobal)
Dim MaxIdEmpleado As Long = CLng(cm.ExecuteScalar)
cm.Dispose()


daEmpleado.InsertCommand = New OdbcCommand("INSERT INTO EMPLEADOS(IdEmpleado,NIFEmp,ApeNomEmp,TelEmp,MailEmp,FkIdUnidad,Activo,Observaciones) VALUES(?,?,?,?,?,?,?,?)", cnGlobal)
daEmpleado.InsertCommand.Parameters.Add("@IdEmpleado", OdbcType.Int, 0, "IdEmpleado").Value = MaxIdEmpleado + 1
daEmpleado.InsertCommand.Parameters.Add("@NIFEmp", OdbcType.VarChar, 15, "NIFEmp").Value = pNIFEmp
daEmpleado.InsertCommand.Parameters.Add("@ApeNomEmp", OdbcType.VarChar, 100, "ApeNomEmp").Value = pApeNomEmp
daEmpleado.InsertCommand.Parameters.Add("@TelEmp", OdbcType.VarChar, 15, "TelEmp").Value = pTelEmp
daEmpleado.InsertCommand.Parameters.Add("@MailEmp", OdbcType.VarChar, 100, "MailEmp").Value = pMailEmp
daEmpleado.InsertCommand.Parameters.Add("@FkIdUnidad", OdbcType.Int, 0, "FkIdUnidad").Value = pFKIdUnidad
daEmpleado.InsertCommand.Parameters.Add("@Activo", OdbcType.Int, 1, "Activo").Value = pActivo
daEmpleado.InsertCommand.Parameters.Add("@Observaciones", OdbcType.VarChar, 255, "Observaciones").Value = pobservaciones

Try
daEmpleado.Fill(dataTableEmpleado)
Catch ex As Exception
Return False
End Try


Try
daEmpleado.Update(dataTableEmpleado)
dataTableEmpleado.AcceptChanges()
Return True
Catch ex As Exception
Return False
End Try

End Function

Public Function modificarEmpleado(pIdEmpleado As Long, pNIFEmp As String, pApeNomEmp As String, pTelEmp As String, pMailEmp As String, pFKIdUnidad As Integer, pActivo As Boolean, pobservaciones As String) As Boolean

Dim dsEmpleado As DataSet
Dim daEmpleado As OdbcDataAdapter

daEmpleado = New OdbcDataAdapter("SELECT * FROM Empleados", cnGlobal)
dsEmpleado = New DataSet
daEmpleado.Fill(dsEmpleado)
dsEmpleado.Tables.Add("Empleados")

Dim dataTableEmpleado As New DataTable("Empleados")

daEmpleado.UpdateCommand = New OdbcCommand("UPDATE EMPLEADOS SET [IdEmpleado]=@IdEmpleado, [NIFEmp]=@NifEmp, [ApeNomEmp]=@ApeNomEmp,[TelEmp]=@TelEmp, [MailEmp]=@MailEmp, [FkIdUnidad]=@FKIdUnidad, [Activo]=@Activo,[Observaciones]=@observaciones", cnGlobal)
daEmpleado.UpdateCommand.Parameters.Add("@IdEmpleado", OdbcType.Int, 0, "IdEmpleado")
daEmpleado.UpdateCommand.Parameters.Add("@NIFEmp", OdbcType.VarChar, 15, "NIFEmp")
daEmpleado.UpdateCommand.Parameters.Add("@ApeNomEmp", OdbcType.VarChar, 100, "ApeNomEmp")
daEmpleado.UpdateCommand.Parameters.Add("@TelEmp", OdbcType.VarChar, 15, "TelEmp")
daEmpleado.UpdateCommand.Parameters.Add("@MailEmp", OdbcType.VarChar, 100, "MailEmp")
daEmpleado.UpdateCommand.Parameters.Add("@FkIdUnidad", OdbcType.Int, 0, "FkIdUnidad")
daEmpleado.UpdateCommand.Parameters.Add("@Activo", OdbcType.Int, 1, "Activo")
daEmpleado.UpdateCommand.Parameters.Add("@Observaciones", OdbcType.VarChar, 255, "Observaciones")

Try
daEmpleado.Fill(dataTableEmpleado)
Catch ex As Exception
Return False
End Try


Try
daEmpleado.Update(dataTableEmpleado)
dataTableEmpleado.AcceptChanges()
Return True
Catch ex As Exception
Return False
End Try

End Function


Public Function eliminarEmpleado(pIdEmpleado As Long) As Boolean

Dim dsEmpleado As DataSet
Dim daEmpleado As OdbcDataAdapter

daEmpleado = New OdbcDataAdapter("SELECT * FROM Empleados", cnGlobal)
dsEmpleado = New DataSet
daEmpleado.Fill(dsEmpleado)
dsEmpleado.Tables.Add("Empleados")

Dim dataTableEmpleado As New DataTable("Empleados")

daEmpleado.DeleteCommand = New OdbcCommand("DELETE * FROM EMPLEADOS WHERE [IdEmpleado]=@IdEmpleado", cnGlobal)
daEmpleado.DeleteCommand.Parameters.Add("@IdEmpleado", OdbcType.Int, 0, "IdEmpleado").Value = pIdEmpleado


Try
daEmpleado.Fill(dataTableEmpleado)
Catch ex As Exception
Return False
End Try


Try
daEmpleado.Update(dataTableEmpleado)
dataTableEmpleado.AcceptChanges()
Return True
Catch ex As Exception
Return False
End Try

End Function


End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder