Guardar datos a access desde vb. net 2005

Cerrado
daniel - 14 ene 2009 a las 23:42
 MazterQiL - 15 ago 2011 a las 20:41
Hola,
kiero guardar datos en una base de datos hecha en access pero en el parametro me ----ExecuteNonQuery ----me muestra el siguiente mensaje ---- ExecuteNonQuery requiere una conexión abierta y disponible. El estado actual de la conexión es cerrada.
aqui les mando el codigo con el que estaba intentando guardar :

este evento esta creado dentro de una region:

Sub grabar()
'Try
If modi = True Then
Dim graba As String = "Insert into Clientes values (?,?,?,?,?,?)"
Dim cmdgraba As New OleDbCommand(graba, cone)
Dim par As OleDbParameter
With cmdgraba
par = .Parameters.Add("CodigoCliente", OleDbType.VarChar)
par.Value = txtCodigo.Text

par = .Parameters.Add("Cliente", OleDbType.VarChar)
par.Value = TxtClientes.Text()

par = .Parameters.Add("Direccion", OleDbType.VarChar)
par.Value = TxtDireccion.Text

par = .Parameters.Add("Contacto", OleDbType.VarChar)
par.Value = TxtContacto.Text

par = .Parameters.Add("NumeroContacto", OleDbType.VarChar)
par.Value = TxtNumeroContacto.Text

par = .Parameters.Add("Expediente", OleDbType.VarChar)
par.Value = TxtExpediente.Text
'punto de error--- .ExecuteNonQuery()

End With
MsgBox("Registro Grabado")
dts.Tables("Cli").Clear()
Cargar_Grilla()


Else
modificar()
dts.Tables("Cli").Clear()
Cargar_Grilla()
End If
'Catch

'End Try
End Sub

No se si se debera a la conexio que e puesto, ya que la e hecho de forma directa indicando su ruta:
Public cone As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Carpeta Compartida\SF\BaseSF.mdb")
ya que la conexion q disponia antes no funciona : esta es la conexion que tenia anteriormente utilizada para otras bases de datos conectadas desde visual studio .Net 2003:
Public cone As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath.Substring(0, Application.StartupPath.Length - 3) + "\BaseSF.mdb")



espero me den una pronta soluciona mi problemaa ..... bye gracias :D
Consulta también:

5 respuestas

deberias de probar poniendo cone.open()

y al final de todo serrarla cone.close()
4
antes del executenonquery debes abrir la conexion
conexion.open()
y al terminar de utilizar la base de datos abierta debes cerrarla
conexion.close()
2
oConn.InitializeLifetimeService()
'Mensaje de Conexion
MsgBox("Conectado")
intenta esto yo tengo la conexion abierta y probada pero lo que no logro es como mandar los datos de mi formulario a la base espero resolver tu duda y me ayudes con la mia
2

¿No encontraste la respuesta que buscabas?

Haz una pregunta
Public cone As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\BaseSF.mdb"
1