Sei sulla pagina 1di 2

Conectividad con SQL Server 2000 desde Visual Basic 6.

0
autor Ing. Segundo Arvalo
Hace un buen tiempo escrib unas guas de laboratorio para un curso de Visual Basic 6.0 que imparta en ese entonces. El
hecho es que el caso a desarrollar se bas en una base de datos Access 2000, motivo por el cual todos los ejemplos de
acceso a orgenes de datos desde Visual Basic 6.0 se realizaron para esta base de datos.
Lo curioso del caso es que yo pensaba que slo en la primera parte de la gua se usaba Access, y luego en la segunda
parte usabamos SQL Server 2000, ya que esa es la forma en que se vena dictando el curso.Ahora recin me doy
cuenta porque en varias ocasiones me enviaban comentarios y tambin algunos correos en los que me solicitan
ejemplos de conectividad con SQL Server 2000 usando Visual Basic 6.0, a los que yo responda que revisen bien la gua,
pues tambin se incluan dichos ejemplos. En todo caso les pido mil disculpas a todos aquellos que se comunicaron
conmigo y no encontraron una respuesta satisfactoria.
Pero ms vale tarde que nunca, verdad?. Pues aqu les dejo un ejemplo. Lo que vamos a hacer es conectarnos a la
base de datos NORTHWIND de SQL Server 2000, y hacer una par de consultas a las tablas CATEGORIES y
PRODUCTS, respectivamente. En el formulario tendremos un control DataCombo que nos permita seleccionar una
categora e inmediatamente se visualizarn en un control DataGrid los productos pertenecientes a dicha categora.
Proceda a crear un nuevo proyecto y ubique los siguientes controles en el formulario:
- 1 Control DataCombo (cboCategorias)
- 1 Control DataGrid (griProductos)
- 1 Botn de comandos (btnCerrar)Antes de ingresar el cdigo a su aplicacin, debe cargar la versin ms reciente de la
librera de objetos ADO (en mi caso la versin 2.8, aunque con versiones anteriores, a partir de la 2.0 en adelante,
tambin funciona). Para ello ingresar al men Proyecto y elegir la opcin Referencias y activar la casilla de verificacin
correspondiente a Microsoft ActiveX Data Objects 2.8 Library, tal como se muestra en la figura.Luego proceda a ingresar
el cdigo que se muestra a continuacin:' Ejemplo de conexin SQL Server 2000 usando Visual Basic 6.0 Option Explicit
Dim cn As ADODB.Connection
Private Sub Form_Load()
' Establecer la conexin con la base de datos NORTHWIND
' usando las credenciales del sistema operativo
Set cn = New ADODB.Connection
With cn
.ConnectionString = "Provider=SQLOLEDB;" _
& "Data Source=(local);" _
& "Initial Catalog=northwind;" _
& "Integrated Security=SSPI;" _
& "Persist Security Info=True;"
.CursorLocation = adUseClient
.Open
End With
' Creacin de un cursor para recuperar las categoras
Dim rsCategorias As ADODB.Recordset
Set rsCategorias = New ADODB.Recordset
With rsCategorias
.ActiveConnection = cn
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Open "SELECT categoryid, categoryname FROM categories"
End With
' Enlazamos el cursor al combo
Set cboCategorias.RowSource = rsCategorias
cboCategorias.BoundColumn = "categoryid"
cboCategorias.ListField = "categoryname"
' Cerramos el cursor
rsCategorias.Close
Set rsCategorias = NothingEnd SubPrivate Sub cboCategorias_Click(Area As Integer)
If cboCategorias.SelectedItem > 0 Then
' Creacin de otro cursor para recuperar los productos
Dim rsProductos As ADODB.Recordset
Set rsProductos = New ADODB.Recordset
With rsProductos
.ActiveConnection = cn
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Open "SELECT productid, " _
& "productname, " _
PC ECUADOR - Soluciones Tecnologas de Informacin y Comunicacin
http://pcecuador.com/web Potenciado por Joomla! Generado: 12 September, 2013, 07:57
& "quantityperunit, " _
& "unitprice, " _
& "unitsinstock " _
& "FROM products " _
& "WHERE categoryid = " & cboCategorias.BoundText
End With
' Enlazamos el cursor a la grilla
Set griProductos.DataSource = rsProductos
' Cerramos el cursor
rsProductos.Close
Set rsProductos = Nothing
End If
End Sub
Private Sub btnCerrar_Click()
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
' Cerramos la conexin a la base de datos
cn.Close
Set cn = Nothing
End Sub

{jcomments on}
PC ECUADOR - Soluciones Tecnologas de Informacin y Comunicacin
http://pcecuador.com/web Potenciado por Joomla! Generado: 12 September, 2013, 07:57

Potrebbero piacerti anche