Buenos Dias compañeros:
Tengo el siguiente código:
Private Function AbrirBaseDatos()
' pasar esto a ADO .NET
' falta revisar mas datos originales, creo que hace algo mas aparte
de abrir
Dim ArchivoBaseDatos As String
Dim CadenaConexion As String
ArchivoBaseDatos = "C:\Datos.mdb"
CadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
ArchivoBaseDatos & ";"
Try
BaseDatos.ConnectionString = CadenaConexion
BaseDatos.Open()
MessageBox.Show("Base de Datos Abierta")
Catch ex As OleDb.OleDbException
MessageBox.Show("Error al abrir base de datos: " &
ex.ErrorCode.ToString)
Finally
If BaseDatos.State = ConnectionState.Open Then
BaseDatos.Dispose()
BaseDatos.Close()
End If
End Try
End Function
Private Function ActualizarBD(ByRef MesConexion As String, _
ByRef DiaConexion As String, _
ByRef HoraConexion As String, _
ByRef TipoConexion As String, _
ByRef UsuarioConectado As String, _
ByRef IPUsuarioConectado As String)
'Actualizamos en la BD los datos obtenidos del fichero de log
Dim InsertarDatos As String
Dim Fecha As String
Fecha = DiaConexion.Trim.ToUpper & "-" & MesConexion.Trim.ToUpper
NombreTabla = "Total_Acumulado_2004"
InsertarDatos = "INSERT INTO " & NombreTabla & _
" (Fecha, Hora, Usuario, Conexion, IP) VALUES ('" & Fecha & "', '" &
HoraConexion & "' ,'" & _
UsuarioConectado & "' ,'" & TipoConexion & "' ,'" &
IPUsuarioConectado & "');"
AbrirBaseDatos()
DatosBaseDatos.Connection = BaseDatos
DatosBaseDatos.CommandText = InsertarDatos
DatosBaseDatos.ExecuteNonQuery()
ActualizacionesDia = ActualizacionesDia + 1
End Function
El llegar a la parte del ExecuteNonQuery, me da el siguiente error:
An unhandled exception of type 'System.InvalidOperationException' occurred
in system.data.dll
Additional information: ExecuteNonQuery requires an open and available
Connection. The connection's current state is Closed.
Leer las respuestas