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

Conectar esta Forma VB.NET 2008

Estas en el tema de Conectar esta Forma VB.NET 2008 en el foro de .NET en Foros del Web. Hola soy 1 mas que programo en VB6 y al qurerer pasar en .NET es otro mundo. Alguien puede ayudarme con este tema yo asi ...
  #1 (permalink)  
Antiguo 28/04/2009, 11:16
Avatar de arielenter  
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
Exclamación Conectar esta Forma VB.NET 2008

Hola soy 1 mas que programo en VB6 y al qurerer pasar en .NET es otro mundo.
Alguien puede ayudarme con este tema yo asi tenia mis proyectos en VB6

en Proyectos cargaba las referencias asi:

En un Modulo declaro las conexiones y otras variables

Código:
Public ADOConexion As ADODB.Connection
Public ComandoSQL As String

Public DB As Database
Public RS As Recordset

Public StrSQL As String

'----------------------------------------------------------------------------------------------------------------------------------------------------------------------
'//Este es para Conectar con la base de datos.

Public Sub ConectarADO()
    Set ADOConexion = New ADODB.Connection
    ADOConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\CONTROL\BDATOS.MDB;Persist Security Info=False"
    ADOConexion.Open
End Sub

'// Este es para cerrar la base de datos.

Public Sub CerrarADO()
    ADOConexion.Close
    Set ADOConexion = Nothing
End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------------------------------

'----------------------------------------------------------------------------------------------------------------------------------------------------------------------
'//El DAO utilizo para hacer mis reportes segun por lo que ley en algunos foros es mas rapido solo por eso uso.

'//Este es para conectar con la base de datos
Public Sub ConectarDAO()
    Set DB = OpenDatabase("C:\CONTROL\BDATOS.MDB", True, False)
    Set RS = DB.OpenRecordset(StrSQL)
End Sub

'//Este es para Cerrar la BaseDatos

Public Sub CerrarDAO()
    DB.Close
    Set DB = Nothing
    Set RS = Nothing
End Sub

'----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ahora para guardar los datos tengo asi mi formulario


Este en el boton guardar

Código:
Private Sub cmdGuardar_Click()
            
    Dim Prg
    Prg = MsgBox("Esta seguro que quiere guardar el registro", vbOKCancel + vbInformation, "Guardar registro")
    
    If Prg = vbOK Then
            
        V01 = "'" & txtCodigo.Text & "'"
        V02 = "'" & txtNombre.Text & "'"
        V03 = "'" & txtTurno.Text & "'"
        
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
        '// Conectar la Base Datos con ADO
            Call ConectarADO
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

            ComandoSQL = "INSERT INTO PERSONAL (CODIGO, NOMBRE, TURNO) VALUES (" & V01 & "," & V02 & "," & V03 & ")"
            ADOConexion.Execute ComandoSQL
        
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
        '// Cerrar la base de datos y liberar la memoria
            Call CerrarADO
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

    End If
    
End Sub
'//Esto en el Boton Eliminar

Código:
Private Sub cmdEliminar_Click()

    Dim Prg
    Prg = MsgBox("Esta seguro que quiere eliminar el registro", vbOKCancel + vbInformation, "Eliminar registro")
    
    If Prg = vbOK Then
        
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
        '// Conectar la Base Datos con ADO
            Call ConectarADO
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

            ComandoSQL = "DELETE FROM PERSONAL WHERE CODIGO = '" & ListView1.SelectedItem.Text & "'"
            ADOConexion.Execute ComandoSQL
            
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
        '// Cerrar la base de datos y liberar la memoria
            Call CerrarADO
        '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

    End If

End Sub

'//Este utilizo para cargar la tabla en el control ListView

Código:
Sub Cargar_Personal()

    ListView1.ListItems.Clear
    StrSQL = "SELECT * FROM PERSONAL ORDER BY NOMBRE"
        
    '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
    '// Conectar a la Base de Datos
        ConectarDAO
    '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
                
        Do Until RS.EOF
            
            Set TLS = ListView1.ListItems.Add()
            TLS.Text = RS.Fields("CODIGO") & ""
            TLS.SubItems(1) = RS.Fields("NOMBRE") & ""
            TLS.SubItems(2) = RS.Fields("TURNO") & ""
            
            RS.MoveNext
            
        Loop
        
    '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
    '// Cerrar la base de datos y liberar la memoria
        CerrarDAO
    '+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

End Sub

Se puede hacer esto en Visual Basic 2008 pero conectar toda las base de datos por medio de codigo
  #2 (permalink)  
Antiguo 28/04/2009, 17:14
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Conectar esta Forma VB.NET 2008

Hola como te va.
Mira primero que nada te cuento que a la mayoría nos cuesta el cambio, tanto de vb6 o asp 3.0, eso es comun porque uno esta acostumbrado a trabajar de una forma, pero es cuestion de probar e ir de a poco.

Lo primero que te puedo decir es el tema de la conexion, si usas sql server podes usar directamente los controladores exclusivos que te ofrece punto net usando System.Data.SqlClient
y si queres usar Acces usas lo mismo pero .OleDB

Primero crear una conexion:

Dim xConexion as OleDbConnection
xConexion = new OleDbConnection("tu cadena de conexion")
xConexion.Open

Luego para ejecutar consultas tenes varias opciones, usar un DataSet y un Adaptador. O también usar un commando y un DataReader. Esta última para mi es la mejor y más aun si la combinas con colecciones de objetos.

Otra cosa que tienes que olvidarte son los modulos y usar funciones. Ahora todo es usando clases y creando objetos, pero eso puede verlo de a poco.

Bueno, supongamos que tenes una grilla y ahora queres cargarle datos este sería mas o menos el ejemplo completo
Código:
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
    Inherits System.Windows.Forms.Form
 
 
    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
 
        'Declaro las variables de control
        Dim objConexion As OleDbConnection
        Dim objAdap1 As OleDbDataAdapter
        Dim objAdap2 As OleDbDataAdapter
        Dim objDataSet As DataSet
 
        'Establezco la conexion con la BD
        objConexion = New OleDbConnection _
        ("Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:BDBDCOMUN.mdb")
 
        'Abro la conexion
        objConexion.Open()
 
        'Establezco la seleccion con la tabla Clientes
        objAdap1 = New OleDbDataAdapter("Select * From Clientes", objConexion)
 
        'Establezco la seleccion con la tabla Empleados
        objAdap2 = New OleDbDataAdapter("Select * From Empleados", objConexion)
 
        'Instancion el DataSet
        objDataSet = New Data.DataSet
 
        'Lleno los repositorios de Datos
        objAdap1.Fill(objDataSet, "Clientes")
        objAdap2.Fill(objDataSet, "Empleados")
 
        'Vuelco los Datos al Datagrid
        Me.DataGrid1.DataSource = objDataSet
 
        'Cierro la conexion
        objConexion.Close()

End Sub
Podes ver más aca:
http://www.mygnet.net/codigos/vb_dot...b_dot_net.1183

Ahora para eliminar y actualizar lo mejor es usar un commando:

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

Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;_
Data Source=C:\emp.mdb;")

cn.Open()
cmd = New OleDbCommand()
cmd.Connection = Cn
cmd.CommandType = CommandType.Text
cmd.CommandText = "Delete from productos where productoId = @id"

cmd.Parameters.AddWithValue("id",12)
cmd.ExecuteNonQuery
Y con eso podes usar tranquilamente para tus updates y delete unaque como te dije también se puede usar para otras cosas. Si te fijas en el delete se agrega un "@id" que es un parametro de la consulta que luego le cargas un valor por medio de cmd.paramters.AddWithValue, yo le puse un valor fijo pero puede ser una variable

Fijate que la ventaja de eso es que no tenes que concatener texto evitando problemas de seguridad y de tipo de campos como hacer

"where productoId=" & xValorProducto

Si buscas hay mucha info de Ado.net y también es bueno que programes también en c#
Mira este link:
http://www.netveloper.com/contenido2.aspx?IDC=83_0

Saludos y aca estamos para lo que necesites
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!

Última edición por Trulala de cordoba; 28/04/2009 a las 17:21
  #3 (permalink)  
Antiguo 29/04/2009, 09:42
Avatar de arielenter  
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
De acuerdo Respuesta: Conectar esta Forma VB.NET 2008

Trulala de cordoba espectacular tu repuesta gracias amigo por responder lo que pasa que me acostumbre por el VB6 yo tengo un sistema de stock completo en el ahora hay que migrar ya a .NET por que cuando salga el Windows 7 voy a querer usar y no voy a poder por que el VB6 ya no anda mas ni en WinVista y por eso forsosamente hay que aprender .NET
  #4 (permalink)  
Antiguo 29/04/2009, 17:48
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Conectar esta Forma VB.NET 2008

Me alegro te se útila, no dejes de aprender y trata de ir de a poco. Podes ver mucha info también en página del guille como este artículo:
http://www.elguille.info/NET/vb6anet/Default.aspx
Suerte
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
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 09:43.