Realizar consultas en Sqlserver utilizando VB 6.0

Tengo una aplicación hecha en VB6.0, utilizo SqlServer.
Mi problema es el siguiente: No se como hacer para abrir y cerrar de la mejor forma posible la base de datos en cada formulario. Y mi duda también es como utilizar los recordsets en estos formularios. ¿Alguien puede darme un pantallazo de como hacer esto para que ande todo bien?
Desde ya muchas gracias! Las respuestas serán recibidas con entusiasmo!
Respuesta
1
Para acceso a base de datos, a través de ADO.
Dim cn as new adodb.connection
if cn.state=1 then cn.close 'cierra la conexión si estuviese abierta para evitar error
If cn.State = 0 Then
        Set cn = New ADODB.Connection
        cn.Open "Provider=SQLNCLI.1;Persist Security Info=False;User ID=" & user &  ";pwd=" & pwd & " ;Initial Catalog=" & bbdd & ";Data Source=" & server
End If
Las variables USER, PWD, BBDD y SERVER deben contener el valor del usuario, password, base de datos y servidor respectivamente.
Con esto se ha abierto una conexión a la base de datos. Esta conexión está en la variable con que ahora utilizamos para crear un recordset.
Dim rs a new adodb.recordset.
rs.open source:"SELECT * FROM TABLA WHERE NAME='PEPIPO'",activeconnection:=cn
'con esa linea hemos cargado en el recordset llamado rs todos los datos de la tabla llamada TABLA que tengan como nombre PEPITO. Deberías controlar que haya o no haya resultados.
if rs.eof=true then
'aqui poner lo que quieres hacer si no hay resultados
else
'aqui poner lo que quieres hacer si SI hay resultados.
end if
Como dato añadido, y por si no lo sabes, los campos de la tabla en el recordset se cargan de la siguiente forma. Imagina que en la tabla TABLA tienes los campos NAME, DIRECCIÓN, POBLACIÓN, PROVINCIA
rs! NAME
rs! DIRECCIÓN
rs! POBLACIÓN
rs! Provincia
Es donde quedan cargados los datos. Lógicamente, si quieres hacer operaciones con ellos debes crear un cursor para recorrer el recordset.
rs.movefirst
do until rs.eof=true
'aqui lo que quieras hacer
rs.movenext 'cambia al siguiente dato del recordset
loop
Si te quedan dudas, pregunta lo que necesites.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas