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

Visual Basic y SQL

Estas en el tema de Visual Basic y SQL en el foro de Visual Basic clásico en Foros del Web. Necesito hacer un programa en visual basic que abra una base de datos de sql y muestre los datos de sus tablas. He visto preguntas ...
  #1 (permalink)  
Antiguo 24/02/2005, 19:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Visual Basic y SQL

Necesito hacer un programa en visual basic que abra una base de datos de sql y muestre los datos de sus tablas. He visto preguntas similares pero ninguna de las respuestas me ha ayudado a realizar la conexión. Me podrían dar un código completo de un programa que lo único que haga sea enlazar a una base de datos y abrirla? Resalto completo porque no me refiero a solo la instruccion de conexion sino a donde y como ponerla. Gracias
  #2 (permalink)  
Antiguo 25/02/2005, 05:59
 
Fecha de Ingreso: enero-2005
Mensajes: 140
Antigüedad: 19 años, 3 meses
Puntos: 0
Lo de donde poner la instruccion de apertura de la base de datos depende de cuando quieres que se conecte y lo accesible que quieres que sea, es decir, si quieres conectar pulsando un boton o si quieres conectar al abrir un formulario...

Lo primero que tienes que hacer es agregar la referencia Microsoft Activex Data Object 2.

Una vez agregada creas un objeto de la clase ADODB.Connection


dim miconexion as New connection

le asignas la cadena de conexion:

miconexion.ConnectionString ="Provider= SQLOLEDB.1;Persist Security Info= False;Password=tupassword;User ID=tu user id;Initial Catalog=nombre de la base de datos;Data Source= nombre del servidor sql"


miconexion.Open()

ya tienes la conexion abierta
  #3 (permalink)  
Antiguo 25/02/2005, 16:59
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
La sentencia de arriba es correcta, solo quería agregar un sitio que me parece interesante www.connectionstrings.com, muestra varias formas de conectarse a distintas base de datos.

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #4 (permalink)  
Antiguo 25/02/2005, 18:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias a ambos, la conexion esta hecha pero... ahora no se como manipular la base de datos: pense que miconexion se podria usar como una variable de tipo database pero me dice que no coinciden los tipos, asi que necesito que por favor me digan como obtengo la base de datos a la que hice conexion y de pasada como obtengo las tablas de tal base de datos

Última edición por c++p; 25/02/2005 a las 19:07
  #5 (permalink)  
Antiguo 26/02/2005, 09:04
 
Fecha de Ingreso: enero-2004
Ubicación: BARCELONA
Mensajes: 49
Antigüedad: 20 años, 3 meses
Puntos: 0
la verdad que yo aun estoy empezando en SQL, pero supongo que debes declarar un recorset, que es lo que te falta en la respuesta anterior


dim miconexion as New connection
dim Rst as New recorset
  #6 (permalink)  
Antiguo 26/02/2005, 21:13
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Investigando en otras partes del foro vi que hacer, lo que me vino funcionando fue:

Dim conexion As New adodb.Connection
Dim tabla As New adodb.Recordset
Private Sub Form_Load()
conexion.ConnectionString = "Provider= SQLOLEDB.1;Persist Security Info= False; Integrated Security=SSPI;Password=mipass;User ID=miuser;Initial Catalog=midatabase;Data Source= miservidor"
conexion.Open
tabla.Open "select * from mitabla", conexion, adOpenStatic, adLockOptimistic
End sub
  #7 (permalink)  
Antiguo 04/03/2005, 08:09
Siu
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola a todos!

Si la conexión fuese entre computadoras distintas (Visual está montado en un equipo que se encuentra en una red y SQL server en otro, q está fuera de la red), qué código se utilizaría para la comunicación?

Me imagino que es similar al de la solución anterior, pero hay que incluir la dir IP; la pregunta sería en donde y si es necesario que estén en la misma red.
  #8 (permalink)  
Antiguo 04/03/2005, 08:22
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
la verdad si esta fuera de tu red o son dos redes distintas tenes que colocar un coputadora con dos tarjetas de red y crear un Puente para puedan accesar las computadoras entre las dos redes..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 04/03/2005, 08:57
Siu
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
ok Gracias!... Pero estando en la misma red si visual esta en una computadora y el servidor SQL en una computadora remota, Como se modifica el código en este caso?

Coloqué este código

cn.ConnectionString = "Provider=sqloledb;Data Source=xxx.xxx.xxx.xxx,1433;Network Library=DBMSSOCN;Initial Catalog=Prueba;User ID=informix;Password=xxx;"
cn.Open
rs.Open "select * from pru1", cn, adoenkeyset, adLockOptimistic

donde xxx.xxx.xxx.xxx es la IP de la computadora en la que se encuentra el servidor SQL
Prueba es la base de datos
User ID y Password= no estoy segura de que colocar aki

Visual Arrojó el siguiente error:

BDNETLIB [connetionopen (Conect()).]No existe el servidor SQL Server o se ha denegado el acceso al mismo

Cual podrá ser el problema?

Última edición por Siu; 04/03/2005 a las 09:33 Razón: Realización posterior de pruebas
  #10 (permalink)  
Antiguo 04/03/2005, 11:43
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Aunque la cadena de conexión q usas se supone que funciona utilizando la IP, te recomiendo que uses el nombre del servidor con la siguiente cadena:

Código:
Provider=SQLOLEDB.1;Password=contraseña;Persist Security Info=True;User ID=nombreusuario;Initial Catalog=nombrebasededatos;Data Source=nombreservidor
En Data Source simplemente coloca el nombre del servidor (para saber cual es el nombre simplemente dirijite a la máquina donde esta instalado el motor de bd, ejecutas el Administrador de Servicios y en la parte superior donde dice Server, ese es el nombre, independientemente de la máquina donde se encuentre)

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #11 (permalink)  
Antiguo 04/03/2005, 11:46
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
alli esta la respuesta regularmente donde esta el nombre del SErvidor colocas la IP

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #12 (permalink)  
Antiguo 07/03/2005, 12:35
Siu
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias por la ayuda!
  #13 (permalink)  
Antiguo 12/04/2005, 13:52
 
Fecha de Ingreso: abril-2005
Mensajes: 18
Antigüedad: 19 años
Puntos: 0
Mi pregunta es la siguiente yo tengo una aplicacion en visual con bases de datos en access y me gustaria ponerlo en red el programa, q tendria q hacer xq no paro de leer y me estoy liando... venga un saludo y muchas gracias de antemano
  #14 (permalink)  
Antiguo 29/03/2006, 01:30
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Solo en la ruta de la konexion, donde pones la ruta del archivo de acces, pon la ruta de red, por ejemplo:

\\MiPcEnRed\C:\MiBase.mdb

espero ke funcione.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:44.