Lo que hacía...

27/03/2006 - 23:35 por David8 | Informe spam
Hola a todos.

Gracias a los diferentes hilos de éste y del foro de VB me he lanzado con el
VB 2005 Express.
Una apuesta, porque solo soy aficionado, no informático, lo que sé es a base
de foros, tutoriales y manuales, a cuyos autores desde aqui agradezco, hago
cosas con VB6 que funcionan.
Lanzadome con el Express, quiero ver como decía Lluis Franco que "es lo que
siempre había querido como programador", pero yo que empiezo desde abajo,
tengo la duda del año, que es:
Yo antes tenia un form, un textbox y un commandbutton y para leer el primer
registro de esa bd hacía:

dim db as database
dim tb as recordset
set db=opendatabase("c:\mibase.mdb")
set tb=db.openrecordset("mitabla")
tb.movefirst
text1.text=tb.fields("micampo")
tb.close
db.close
set tb =nothing
set db=nothing

Hago esto con el Express y me lanza como 6 o 7 mensajes de error.
Por favor, antes de que abandone, ¿como lo que hacía lo puedom hacer ahora?

Gracias de antemano.

David8
 

Leer las respuestas

#1 Luis Miguel Blanco
28/03/2006 - 07:41 | Informe spam
Hola David

Desde los tiempos de VB6, la filosofía de acceso a datos ha evolucionado
considerablemente. Con ADO.NET, disponemos de una arquitectura más robusta de
gestión de datos, lo que conlleva a tener que utilizar algunos objetos más,
aunque no te preocupes, que no es complicado, sólo se trata de "soltarte" un
poco con ello.

Por ejemplo, el caso que expones, en el que abres una base de datos, te
situas en el primer registro y vuelcas un campo en un control del formulario,
en ADO.NET requiere crear una conexión contra la base de datos, a
continuación, un comando con la sentencia SQL que extraiga los datos, y
finalmente un objeto DataReader, que es una especie de recordset de sólo
avance, que te permite recorrer el conjunto de registros obtenidos. También
puedes optar por volcar los registros a un objeto DataSet, que consiste en
una representación en memoria de los datos obtenidos a partir del comando,
pero que trabaja desconectado de la base de datos, y sólo se conecta en el
momento en el que cargas los registros en el DataSet, y los devuelves a la
base de datos una vez modificados, borrados, e insertados nuevos, pero creo
que para mantener las cosas simples, y para que te vayas iniciando, es mejor
comenzar por el DataReader, y después ya podrás atacar el DataSet 8-)

En el siguiente bloque de código que te muestro como ejemplo, partimos del
hecho de que vamos a trabajar contra una base de datos SQL Server, para ello
nos conectaremos a la misma usando un objeto SQLConnection; le enviaremos un
comando con un objeto SQLCommand, que nos devolverá los registros a un
DataReader, el cual recorreremos, y de uno de los campos, añadiremos su valor
a un control ListBox del formulario. Ten en cuenta, que debes importar el
espacio de nombres SQLClient que contienen las clases relacionadas con los
objetos que manipulan datos de la base de datos SQL, es decir

'///////////////////////////
Imports System.Data.SqlClient
'...
'...
' crear conexion
Dim oConexion As New SqlConnection()
oConexion.ConnectionString = "Server=(local);" & _
"Database=Northwind;uid=sa;pwd=;"

' crear comando
Dim oComando As New SqlCommand("SELECT * FROM Employees", _
oConexion)

' crear DataReader
Dim oDataReader As SqlDataReader
oConexion.Open()
oDataReader = oComando.ExecuteReader() ' obtener DataReader

' recorrer filas
While oDataReader.Read()
Me.lstEmpleados.Items.Add(oDataReader("LastName"))
End While

oDataReader.Close()
oConexion.Close()
'///////////////////////////

Espero que te sea útil para ir comenzando a trabajar con ADO.NET.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"David8" wrote:

Hola a todos.

Gracias a los diferentes hilos de éste y del foro de VB me he lanzado con el
VB 2005 Express.
Una apuesta, porque solo soy aficionado, no informático, lo que sé es a base
de foros, tutoriales y manuales, a cuyos autores desde aqui agradezco, hago
cosas con VB6 que funcionan.
Lanzadome con el Express, quiero ver como decía Lluis Franco que "es lo que
siempre había querido como programador", pero yo que empiezo desde abajo,
tengo la duda del año, que es:
Yo antes tenia un form, un textbox y un commandbutton y para leer el primer
registro de esa bd hacía:

dim db as database
dim tb as recordset
set db=opendatabase("c:\mibase.mdb")
set tb=db.openrecordset("mitabla")
tb.movefirst
text1.text=tb.fields("micampo")
tb.close
db.close
set tb =nothing
set db=nothing

Hago esto con el Express y me lanza como 6 o 7 mensajes de error.
Por favor, antes de que abandone, ¿como lo que hacía lo puedom hacer ahora?

Gracias de antemano.

David8

Preguntas similares