Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

conexion vb6 con sql 2008

Estas en el tema de conexion vb6 con sql 2008 en el foro de Visual Basic clásico en Foros del Web. cómo se realiza esa conección??? cómo se hace una consulta con la conección ya hecha? Saludos...
  #1 (permalink)  
Antiguo 17/10/2012, 18:54
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 7 años, 2 meses
Puntos: 1
conexion vb6 con sql 2008

cómo se realiza esa conección???

cómo se hace una consulta con la conección ya hecha?


Saludos
  #2 (permalink)  
Antiguo 22/10/2012, 07:30
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 9 años, 10 meses
Puntos: 47
Respuesta: conexion vb6 con sql 2008

Hola!
Con este codigo puedes crear conexion:
Código vb:
Ver original
  1. Public myConexion As ADODB.Connection
  2.  
  3. Function OLEDBConnectionStringCreate() As String
  4.     Dim oDataLink As Object     'MSDASC.DataLinks
  5.    Dim oCon As Object          'ADODB.Connection
  6.    
  7.     On Error Resume Next
  8.     Set oDataLink = CreateObject("DataLinks")
  9.     If oDataLink Is Nothing = False Then
  10.         Set oCon = CreateObject("ADODB.Connection")
  11.         Call oDataLink.PromptEdit(oCon)
  12.         OLEDBConnectionStringCreate = oCon.ConnectionString
  13.     Else
  14.         Debug.Print Err.Description
  15.         Debug.Assert False
  16.     End If
  17.     Set oCon = Nothing
  18.     Set oDataLink = Nothing
  19. End Function
  20.  
  21. Private Sub Form_Load()
  22.     Set myConexion = New ADODB.Connection
  23.     On Error GoTo Errores
  24.    
  25.     myConexion.ConnectionString = OLEDBConnectionStringCreate
  26.     myConexion.Open
  27.    
  28.     MsgBox "Conexion ok!!"
  29. Exit Sub
  30. Errores:
  31.     MsgBox "Conexion no ok!!"
  32.  
  33. End Sub

Se presentará un cuadro de conexion:
1-Seleccionas la pestaña "Proveedor (Provider)", seleccionas "Microsoft OLE DB Provider for SQL Server"
2-Seleccionas la pestaña "Conexion (Connection)", completa los campos con el nombre del servidor/instancia, usuario, pass y base de datos.
3-Presiona el boton "Prueba de conexion (Test Connection)" para validar que la conexion esté correcta
4-Presiona el boton "OK"

Para las consultas, debes usar Recordsets, ejemplo:
Código vb:
Ver original
  1. Dim rstDatos as ADODB.Recordset
  2. Set rstDatos = New ADODB.Recordset
  3.  
  4. rstDatos.Source="SELECT * FROM TABLA WHERE CAMPO1=123 " 'debes usar una instruccion SQL
  5.  
  6. rstDatos.Open , myConexion 'aqui se abre la consulta con la conexion establecida
  7.  
  8. if rstDatos.EOF=False then
  9. 'encontramos datos
  10. 'ejemplo para asignar los valores del CAMPO1 a un textbox
  11.  
  12. TextBox.Text=rstDatos!CAMPO1
  13.  
  14. Else
  15. 'no encontramos datos
  16. msgbox "No hay datos!!"
  17. Endif
  18.  
  19. 'para cerrar la consulta y liberar de la memoria
  20. if rstDatos.state=1 then rstDatos.close
  21. set rstDatos=nothing

Espero haber ayudado con tu inquietud!!
  #3 (permalink)  
Antiguo 22/10/2012, 18:49
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 7 años, 2 meses
Puntos: 1
Respuesta: conexion vb6 con sql 2008

gracias compa!!!!
  #4 (permalink)  
Antiguo 22/10/2012, 21:42
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 7 años, 2 meses
Puntos: 1
Respuesta: conexion vb6 con sql 2008

Cita:
Iniciado por lokoman Ver Mensaje
Hola!
Con este codigo puedes crear conexion:
Código vb:
Ver original
  1. Public myConexion As ADODB.Connection
  2.  
  3. Function OLEDBConnectionStringCreate() As String
  4.     Dim oDataLink As Object     'MSDASC.DataLinks
  5.    Dim oCon As Object          'ADODB.Connection
  6.    
  7.     On Error Resume Next
  8.     Set oDataLink = CreateObject("DataLinks")
  9.     If oDataLink Is Nothing = False Then
  10.         Set oCon = CreateObject("ADODB.Connection")
  11.         Call oDataLink.PromptEdit(oCon)
  12.         OLEDBConnectionStringCreate = oCon.ConnectionString
  13.     Else
  14.         Debug.Print Err.Description
  15.         Debug.Assert False
  16.     End If
  17.     Set oCon = Nothing
  18.     Set oDataLink = Nothing
  19. End Function
  20.  
  21. Private Sub Form_Load()
  22.     Set myConexion = New ADODB.Connection
  23.     On Error GoTo Errores
  24.    
  25.     myConexion.ConnectionString = OLEDBConnectionStringCreate
  26.     myConexion.Open
  27.    
  28.     MsgBox "Conexion ok!!"
  29. Exit Sub
  30. Errores:
  31.     MsgBox "Conexion no ok!!"
  32.  
  33. End Sub

Se presentará un cuadro de conexion:
1-Seleccionas la pestaña "Proveedor (Provider)", seleccionas "Microsoft OLE DB Provider for SQL Server"
2-Seleccionas la pestaña "Conexion (Connection)", completa los campos con el nombre del servidor/instancia, usuario, pass y base de datos.
3-Presiona el boton "Prueba de conexion (Test Connection)" para validar que la conexion esté correcta
4-Presiona el boton "OK"

Para las consultas, debes usar Recordsets, ejemplo:
Código vb:
Ver original
  1. Dim rstDatos as ADODB.Recordset
  2. Set rstDatos = New ADODB.Recordset
  3.  
  4. rstDatos.Source="SELECT * FROM TABLA WHERE CAMPO1=123 " 'debes usar una instruccion SQL
  5.  
  6. rstDatos.Open , myConexion 'aqui se abre la consulta con la conexion establecida
  7.  
  8. if rstDatos.EOF=False then
  9. 'encontramos datos
  10. 'ejemplo para asignar los valores del CAMPO1 a un textbox
  11.  
  12. TextBox.Text=rstDatos!CAMPO1
  13.  
  14. Else
  15. 'no encontramos datos
  16. msgbox "No hay datos!!"
  17. Endif
  18.  
  19. 'para cerrar la consulta y liberar de la memoria
  20. if rstDatos.state=1 then rstDatos.close
  21. set rstDatos=nothing

Espero haber ayudado con tu inquietud!!


compa y la coneccion esa la hago en un modulo??? así la puedo ocupar como global o se copia siempre que quiera conectar?

Etiquetas: conexion, sql, vb6
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 18:40.