Consulta a sql server desde visual Basic
Hola a todos!!
Bueno, a ver si alguien puede ayudarme.... tengo poca idea de vb, soy novatillo, y quizás sea una tonteria lo que voy a preguntar, xo es que no consigo obtener una tupla en una base de datos y escribir cada campo en un textfield diferente!!!
Lo que a mi me gustaría es realizar una Query de tipo select, y guardar el resultado en una especie de estructura. Luego había pensado escribir cada campo de esta estructura en un textfield diferente en un formulario.
Tengo poca idea de bd con vb, así que leí en una página como conectarlo a través de ADO. Así es como escribo valores de un formulario en mi bd:
Private Sub Command1_Click()
' Por si ya estaba abierta...
Set cnn = Nothing
Set rst = Nothing
' Crear los objetos
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
' abrir la base usando las credenciales de Windows
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=Prueba; " & _
"Data Source=PORTATIL_CHM; " & _
"integrated security=SSPI; persist security info=True;"
' abrir el recordset indicando la tabla a la que queremos acceder
rst.Open "insert into alumnos (id_alumno, passw, nombre, apellidos, email) values ('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')", cnn, adOpenDynamic, adLockOptimistic
End Sub
Pero cuando hago un rst.Open select lo que sea....... me da error, no me deja con el .Open. Además, dónde se quedaría el resultado de la select??
Si alguien sabe como ayudarme con ADO y el tipo de código que tengo, se lo agradecería mucho. O también sino como podría configurar esta conexión los parámetros de conexión que muestro arriba con DAO que me lo escriba xfavor!!! Porque tengo entendido que cambiando este código a DAO quizás fuera más fácil todo esto..... Muchisimas gracias de antemano. Un saludo!!!!
Estás usando mal el objeto
Set Rst = cnn.execute("insert into alumnos (id_alumno, passw, nombre, apellidos, email) values ('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
Si bien esto no es un Select, si querés hacer una query y colocarla en textos
Dim Cnn as New ADODB.Connection
Dim Rs as New ADODB.Recordset
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=Prueba; " & _
"Data Source=PORTATIL_CHM; " & _
"integrated security=SSPI; persist security info=True;"
Rs.Open <Sql>,cnn,AdOpenStatic
Luego, vas repartiendo los campos en distintos textos
Text1.Text = Rst!<Campo1>
Text2.Text = Rst!<Campo2>
.................................................
TextN.Text = Rst!<CampoN>
Espero que sirva
Saludos desde Argentina
Set Rst = cnn.execute("insert into alumnos (id_alumno, passw, nombre, apellidos, email) values ('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
Si bien esto no es un Select, si querés hacer una query y colocarla en textos
Dim Cnn as New ADODB.Connection
Dim Rs as New ADODB.Recordset
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=Prueba; " & _
"Data Source=PORTATIL_CHM; " & _
"integrated security=SSPI; persist security info=True;"
Rs.Open <Sql>,cnn,AdOpenStatic
Luego, vas repartiendo los campos en distintos textos
Text1.Text = Rst!<Campo1>
Text2.Text = Rst!<Campo2>
.................................................
TextN.Text = Rst!<CampoN>
Espero que sirva
Saludos desde Argentina
