Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Conectar Visual Basic 6 a Sql Server 2000

Estas en el tema de Conectar Visual Basic 6 a Sql Server 2000 en el foro de SQL Server en Foros del Web. Hola saludos a todos, Estoy desarrollando un programa en Visual Basic 6, pero necesito hacer la conexión con sql server 2000... he tratado de muchas ...
  #1 (permalink)  
Antiguo 25/03/2010, 10:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Conectar Visual Basic 6 a Sql Server 2000

Hola saludos a todos,
Estoy desarrollando un programa en Visual Basic 6, pero necesito hacer la conexión con sql server 2000... he tratado de muchas forma realizar la conexion pero ninguna me ha funcionado o no se si estaré realizando algo mal.
He pensado que exista la posibilidad que me de problema porque tengo instalado visual basic 6 y sql server 2000 en la misma máquina... por favor ayuda con este caso...
  #2 (permalink)  
Antiguo 25/03/2010, 10:43
Avatar de hugo180486  
Fecha de Ingreso: septiembre-2007
Mensajes: 199
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Conectar Visual Basic 6 a Sql Server 2000

Mira te paso un ejemplo completo de como hago una conexcion, una consulta y como manejo el resultado de esa consulta (RecordSet), problema en tener VB6 y SQL en la misma maquina lo dudo compa;era... Espero te sirva... Oye lo mas probable es que te digan que esto esta mas relacionado con VB que con SQL y que tu post esta fuera de lugar, jeje te lo digo por experiencia...


Código vb:
Ver original
  1. Dim cn                As ADODB.Connection
  2.    
  3.     Dim rsItems       As ADODB.Recordset
  4.     Dim cmdItems    As ADODB.Command
  5.     Dim sQryItems   As String
  6.     Dim i                   As Integer
  7.  
  8.     '//Establezco la conexion a la BD, declaro la BD a conectar, y su respectivo
  9.    '//nombre de usuario y contraseña
  10.    Set cn = New ADODB.Connection
  11.         cn.Open "Provider=SQLOLEDB;Data Source=" & Nombre_Servidor & ";Initial Catalog=Base_Datos;User ID=" & _
  12.         Constantes.strUser & ";Password=" & Contrase;a
  13.                                
  14.         '//Obtengo la descripcion del Item
  15.        Set cmdItems = New ADODB.Command
  16.         Set cmdItems.ActiveConnection = cn
  17.        
  18.         '//Consulta
  19.        sQryItems = ""
  20.         sQryItems = "SELECT Item_Desc" & vbCrLf & _
  21.                     "FROM tblCatalogo_DD_SC" & vbCrLf & _
  22.                     "WHERE Item =" & Chr(39) & "M-" & Variables.sItem_DD & Chr(39)
  23.  
  24.         With cmdItems
  25.             .CommandText = sQryItems
  26.             .CommandType = adCmdText
  27.         End With
  28.            
  29.         Set rsItems = New ADODB.Recordset
  30.         Set rsItems.ActiveConnection = cn
  31.            
  32.         rsItems.Open cmdItems
  33.            
  34.         If Not (rsItems.EOF = True) Then
  35.                
  36.             rsItems.MoveFirst
  37.            
  38.             '//Guardo la descripcion
  39.            sDesItemVer = Trim(rsItems.Fields(0).Value)
  40.            
  41.             '//Compa;era aizurieta si el recordset tiene varios registros lo puedes
  42.            '//recorrer de la siguiente manera
  43.            
  44.             i = 1
  45.             Do While (rsItems.EOF = False)
  46.  
  47.                         MsgBox "Mostrar Registro " & i & " " & rsItems.Fields(0).Value"
  48.                        i=i+1
  49.                        rstItems.MoveNext
  50.          
  51.             Loop
  52.  
  53.        End If
  54.            
  55.        '//Descargo las variables, para volverlas a usar.
  56.        Set rsItems = Nothing
  57.        Set cmdItems = Nothing
  58.        
  59.        '//Cierro la conexion
  60.         cn.Close
  61.         Set cn = Nothing
  #3 (permalink)  
Antiguo 26/03/2010, 20:04
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Conectar Visual Basic 6 a Sql Server 2000

Cita:
Iniciado por aizurieta Ver Mensaje
Hola saludos a todos,
Estoy desarrollando un programa en Visual Basic 6, pero necesito hacer la conexión con sql server 2000... he tratado de muchas forma realizar la conexion pero ninguna me ha funcionado o no se si estaré realizando algo mal.
He pensado que exista la posibilidad que me de problema porque tengo instalado visual basic 6 y sql server 2000 en la misma máquina... por favor ayuda con este caso...
Hola la verdad que q no corresponde al foro pero al final ya q estas aca manos a la obra
Sinceramente no creo que este instalado mal el sql 2000 o el vb6 yo pienso mas bien que no agregaste la referencia para usar la programcion ADO.
Menu Proyecto \ Referencias y ahi marcas Microsoft ActiveX Data Object 2.x segun tu tipo de programacion.
Lo que siempre hago es creo un Modulo y ahi creo la conexion
con una funcion que llame a mis procedimientos almacenados con n Parametros de entrada.

Código vb:
Ver original
  1. Public Const strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=MyData;Data Source=PC Server"
  2.  
  3.  
  4. Function RetornaRS(ByVal NombreSP As String, ParamArray xParametros() As Variant) As ADODB.Recordset
  5.     On Error GoTo Xerr:
  6.         Dim Cmd As New ADODB.Command
  7.         Dim rs As New ADODB.Recordset
  8.         Dim pmt As New ADODB.Parameter
  9.         Dim cn As New ADODB.Connection
  10.         Dim i As Integer, n As Integer
  11.         Dim ret() As Integer
  12.         cn.Open strCon
  13.         With Cmd
  14.             .ActiveConnection = cn
  15.             .CommandType = adCmdStoredProc
  16.             .CommandText = NombreSP
  17.         End With
  18.         ReDim ret(n)
  19.         For Each pmt In Cmd.Parameters
  20.             If pmt.Name <> "@RETURN_VALUE" Then
  21.                 pmt.Value = xParametros(i)
  22.                 If (pmt.Direction = adParamInputOutput) Then
  23.                     ret(n) = i
  24.                     n = n + 1
  25.                     ReDim Preserve ret(n)
  26.                 End If
  27.                 i = i + 1
  28.             End If
  29.         Next
  30.         rs.LockType = adLockBatchOptimistic
  31.         rs.CursorLocation = adUseClient
  32.         rs.CursorType = adOpenStatic
  33.         rs.Open Cmd
  34.         If (n > 0) Then
  35.         For i = 0 To n - 1
  36.                 xParametros(ret(i)) = Cmd.Parameters(ret(i) + 1).Value
  37.         Next
  38.         End If
  39.         Set RetornaRS = rs
  40.         'Set rs = Nothing
  41.        'Set Cmd = Nothing
  42.        'Set cn = Nothing
  43.        Exit Function
  44. Xerr:
  45.         Err.Raise Err.Number, Err.Source, Err.Description
  46. End Function

Te recomiento trabajar directamente con procedimientos almacenados de consulta actualizacion y eliminacion
y asi lo llamo en cualquien evento en el cual crea conveniente segun mi tipo de programacion y asi creas los famosos RECORDSET DESCONECTADOS.

Código vb:
Ver original
  1. Dim RsUsuarios As ADODB.Recordset
  2. Dim RsListClientes As ADODB.Recordset
  3.  
  4. Set RsUsuarios = RetornaRS("Rs_Listar_Usuarios", 1, 2, 3, 4)
  5. set RsListClientes = RetornaRS("Rs_Listar_Clientes", 0)

Siempre me es gratificante el cooperar en la busqueda de soluciones para los demas.

www.bitxense.com.pe | Soluciones Informaticas S.A.C. - [email protected]
Cualquier duda soy Jhon Bautista Palomino aqui esta mi correo MSN [email protected] Lima-Peru

Etiquetas: basic, server, sql, visual
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 00:04.