Foros del Web » Programación para mayores de 30 ;) » .NET »

Como se establece una conexion OleDbConnection

Estas en el tema de Como se establece una conexion OleDbConnection en el foro de .NET en Foros del Web. Hola gente que hay tengo una duda apenas estoy estudiando el .Net y las clases que me dieron es como hacer una conexion con SQLConnection ...
  #1 (permalink)  
Antiguo 07/08/2007, 11:49
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Información Como se establece una conexion OleDbConnection

Hola gente que hay tengo una duda apenas estoy estudiando el .Net y las clases que me dieron es como hacer una conexion con SQLConnection pero es si usas bases de datos SQL bien como hago la misma conexion con una base de dato de access

segun el libro que tengo lo hace como:


Dim conexion as new OleDbConnection("Provider=Microsoft.jet.OLEDB.4.0; Data Source=C:\BasesDeDatos\Access\administracion.mdb")

con SQL Server no tengo que escribir todo esto

mi pregunta es como hacerlo con access

Me.OleDbConnection.OPEN() ????


saludos. y gracias de ante manos
  #2 (permalink)  
Antiguo 07/08/2007, 14:42
Avatar de sagma  
Fecha de Ingreso: septiembre-2004
Ubicación: Santa Cruz de la Sierra - Bolivia
Mensajes: 136
Antigüedad: 20 años, 5 meses
Puntos: 1
De acuerdo Re: Como se establece una conexion OleDbConnection

que tal, fijate en este ejemplo que tengo, que cuando me conecto o veo el login.

Código:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Conectando a la base de datos 
        Dim conBase As New OleDb.OleDbConnection("Provider=Microsoft.jet.oledb.4.0;Data Source=C:\SagmaSoft\db_arcan.mdb;Jet OLEDB:Database Password=*********")
        conBase.Close()
        Dim strSQL As String
        strSQL = "Select * from usuarios where usuario = '" & TextBox1.Text & "' and clave = '" & TextBox2.Text & "'"
        Dim daEmp As New OleDb.OleDbDataAdapter(strSQL, conBase)
        Dim dsEmp As New DataSet
        daEmp.Fill(dsEmp, "Log")
        'Si el dataset obtuvo un registro es que si es valido el Usuario y la clave 
        If dsEmp.Tables("Log").Rows.Count = 1 Then
            Me.DialogResult = DialogResult.OK
            Me.Close()
            'Dim a As New frmmain
            'a.Show()
        Else
            'MessageBox.Show("Mensaje","titulo",System.windows.forms.MessageBosButtons.Accept)
            'MessageBox.Show("DESEA ELIMINAR","IMPORTANTE", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) 
            MessageBox.Show("Usuario o contaseña no valida", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox1.Text = ""
            TextBox2.Text = ""
            Me.TextBox1.Focus()
        End If

    End Sub
suerte
__________________
Sagma -- :arriba:
  #3 (permalink)  
Antiguo 07/08/2007, 19:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Re: Como se establece una conexion OleDbConnection

Gracias Sagma no es lo que yo quiero hacer proque asi de esa manera es como lo hago en SQL Server hay una forma mas sencilla y queria ver si se podia hacer con access. Pero ya lo solucione

lo que queria hacer es esto te pongo un ejemplo haciendo una consulta a una tabla que esta en un dataset :


Me.OleDBConnection.open() ' aqui no tengo que escribir toda la sintax

Me.OleDbDataAdapter1.Fill(Me.Dataset11, "departamentos")
Me.ComboBox1.DataSource = Me.Dataset11.departamentos
Me.ComboBox1.ValueMember = "codigo"
'Me.ComboBox1.DisplayMember = "codigo"
Me.ComboBox1.DisplayMember = "descripcion"

esto se hace estableciendo un nuevo servidor o una nueva conexion en la herramientas izquierda alli pulsas a proveedores y eliges el que dice microsoft Jet 4.0 OLE DB Provider luego seleccionas tus bases de datos que esta en Access y listo ya esta

solo tienes que arrastrar las clases OleDbConnection, OleDbDataadapter etc...

suerte. igual muchas gracias
  #4 (permalink)  
Antiguo 10/08/2007, 21:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Re: Como se establece una conexion OleDbConnection

tengo un problemita con el insert de datos a access

pues tengo

Try
Me.OleDbConnection1.Open()
Me.OleDbDataAdapter2.InsertCommand.Parameters("cod igo").Value = Me.TextBox1.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("nom bre").Value = Me.TextBox2.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("sue ldo").Value = Me.TextBox3.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("cod igodepartamento").Value = Me.ComboBox1.SelectedValue
Me.OleDbDataAdapter2.InsertCommand.ExecuteNonQuery ()
MessageBox.Show("Datos Cargados")
Me.OleDbConnection1.Close()
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.ComboBox1.Text = ""
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

en el oledataadapter2 tengo

INSERT INTO empleados
(codigo, nombre, sueldo, codigodepartamento)
VALUES ('codigo', nombre, ' sueldo', 'codigodepartamento')

pero me da un error:
OledebeparameterCollection no contiene OledbeParameter con parameterName 'codigo'

que puede ser me fije en el encabezado y tengo el

Imports System.Data.OleDb

que puede ser bueno ya me diran saludos
  #5 (permalink)  
Antiguo 13/08/2007, 22:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Re: Como se establece una conexion OleDbConnection

Hola Sagma una pregunta usando tu mismo ejemplo de nombre y clave como haces el insert pues tengo problema para insertar datos a la base de datos de access , me podias postear un ejemplo de INSERT que funcione ,

Gracias desde ahora chau
  #6 (permalink)  
Antiguo 14/08/2007, 06:56
Avatar de sagma  
Fecha de Ingreso: septiembre-2004
Ubicación: Santa Cruz de la Sierra - Bolivia
Mensajes: 136
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Como se establece una conexion OleDbConnection

claro mi amigo, yo lo manejo en clases, fijate:

Esta parte lo manejo desde el form.
Código:
    Sub registrar_datos()

        If Not IsNumeric(TextBox1.Text) Then
            MsgBox("El codigo de la Persona debe ser numerico", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox2.Text) = "" Then
            MsgBox("El Nombre de la Persona no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox3.Text) = "" Then
            MsgBox("El Apellidos de la Persona no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox8.Text) = "" Then
            MsgBox("La Cedula de identidad no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox9.Text) = "" Then
            MsgBox("La Direccion no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox10.Text) = "" Then
            MsgBox("La Fecha de nacimiento no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox13.Text) = "" Then
            MsgBox("El tipo de Sangre no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If Trim(TextBox14.Text) = "" Then
            MsgBox("El Numero de NIT no debe ser nula ", MsgBoxStyle.Critical)
            Exit Sub
        End If

        pers.codigo = CInt(TextBox1.Text)
        pers.nro_nit = Trim(TextBox14.Text)
        pers.nombres = Trim(TextBox2.Text)
        pers.apellidos = Trim(TextBox3.Text)
        pers.fecha_ingreso = DateTimePicker1.Value
        pers.inicio_contrato = DateTimePicker2.Value
        pers.fin_contrato = DateTimePicker3.Value
        pers.cedula_identidad = Trim(TextBox8.Text)
        pers.ciudad_ce = ComboBox1.SelectedValue
        pers.direccion = Trim(TextBox9.Text)
        pers.fecha_nac = Trim(TextBox10.Text)
        pers.pais_nac = ComboBox2.SelectedValue
        pers.dpto_nac = ComboBox3.SelectedValue
        pers.nro_celular = Trim(TextBox11.Text)
        pers.nro_telf_fijo = Trim(TextBox12.Text)
        pers.tipo_sangre = Trim(TextBox13.Text)
        pers.sexo = ComboBox5.SelectedValue
        pers.estado_civil = ComboBox6.SelectedValue
        pers.grado_estudio = ComboBox7.SelectedValue
        pers.cargo = ComboBox8.SelectedValue
        pers.cod_prof = ComboBox9.SelectedValue
        pers.cod_estado = ComboBox10.SelectedValue
        pers.tipo_contrato = ComboBox4.SelectedValue

        If pers.existe(pers.codigo) Then
            MsgBox("El codigo para dicha persona, ya existe", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If pers.existe_ci(pers.cedula_identidad) Then
            MsgBox("La Cedula de identidad, ya esta en otra persona", MsgBoxStyle.Critical)
            Exit Sub
        End If

        If pers.existe_nit(pers.nro_nit) Then
            MsgBox("El Nro. de Nit, ya esta en otra persona", MsgBoxStyle.Critical)
            Exit Sub
        End If

        pers.insertar(cnn)

        TextBox2.Text = ""
        TextBox3.Text = ""
        'TextBox4.Text = ""
        'TextBox6.Text = ""
        'TextBox7.Text = ""
        TextBox8.Text = ""
        TextBox9.Text = ""
        TextBox10.Text = ""
        TextBox11.Text = ""
        TextBox12.Text = ""
        TextBox13.Text = ""
        TextBox14.Text = ""

    End Sub

Esta parte del código lo tengo en la clase, persona, ya que inserto los datos de la persona. No es el mismo, que te había puesto con anterioridad, ya que yo solo lo manejo esa parte,
Código:
   Sub insertar(ByVal cnn As OleDbConnection)

        Dim sql As String
        Dim cmd As New OleDbCommand

        sql = "INSERT INTO personal (codigo, nombres, apellidos,fecha_ingreso,inicio_contrato,fin_contrato,cedula_identidad,ciudad_ce , " & _
                                    " direccion,fecha_nac,pais_nac,dpto_nac,nro_celular,nro_telf_fijo,sexo,estado_civil,grado_estudio  , " & _
                                    " tipo_sangre,nro_nit,cargo,cod_prof,cod_estado,tipo_contrato) " & _
              " VALUES (" & codigo & " , '" & nombres & "' , '" & apellidos & "' , " & _
                        " '" & fecha_ingreso & "' , " & _
                        " '" & inicio_contrato & "' , '" & fin_contrato & "' , " & _
                        " '" & cedula_identidad & "' , " & ciudad_ce & " , " & _
                        " '" & direccion & "' , '" & fecha_nac & "' , " & _
                        " " & pais_nac & " , " & dpto_nac & " , " & _
                        " '" & nro_celular & "' , '" & nro_telf_fijo & "' , " & _
                        " " & sexo & ", " & estado_civil & " , " & _
                        " " & grado_estudio & " , '" & tipo_sangre & "' , " & _
                        " '" & nro_nit & "' , " & cargo & " , " & _
                        " " & cod_prof & " , " & cod_estado & " , " & tipo_contrato & " ) "

        cmd.CommandText = sql
        cmd.CommandType = CommandType.Text
        cmd.Connection = cnn

        Try
            cmd.ExecuteNonQuery()
        Catch testado As Exception
            MsgBox(" Error en Insertar en Personal : " & testado.Message)
        End Try

    End Sub
Suerte,
__________________
Sagma -- :arriba:
  #7 (permalink)  
Antiguo 14/08/2007, 12:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Re: Como se establece una conexion OleDbConnection

Gracias amigaso usted es una maravilla.

de la forma que yo lo hago el error que me da es:

OleDbParameterCollection no contiene OleDbParameter con ParameterName 'codigo'

yo lo estoy haciendo de esta manera

con los metodos de OleDbAdapter , OleDbConnection

Try

Me.OleDbConnection1.Open() la conexion la hace bien porque tengo una consulta a un combo y lo hace bien

Me.OleDbDataAdapter2.InsertCommand.Parameters("cod igo").Value = Me.TextBox1.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("nom bre").Value = Me.TextBox2.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("sue ldo").Value = Me.TextBox3.Text
Me.OleDbDataAdapter2.InsertCommand.Parameters("cod igodepartamento").Value = Me.ComboBox1.SelectedValue

Me.OleDbDataAdapter2.InsertCommand.ExecuteNonQuery ()
MessageBox.Show("Datos Cargados")
Me.OleDbConnection1.Close()
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.ComboBox1.Text = ""
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Asi lo ago con bases de datos SQL Server y me funcionan bien
pero no logro resolver el problema con access
en el encabezado ya tengo el
imports system.data.OleDB

no se si hay otro mas
bueno que Opinan saludos

Última edición por coyote20; 14/08/2007 a las 12:11
  #8 (permalink)  
Antiguo 14/08/2007, 12:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 20 años
Puntos: 3
Re: Como se establece una conexion OleDbConnection

en los codigo
nombre
sueldo

hay un espacio es error del foro pues no tengo esos espacio que se ven
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:43.