Visual Basic.NET - OleDbDatareader

 
Vista:

OleDbDatareader

Publicado por Sergio (1 intervención) el 12/01/2010 12:05:40
Hi!.
Quiero usar un OleDbDatareader para obtener datos de una tabla, luego quiero ir al ultimo registro y pasar los datos de este registro a TextBox que tengo en el form... ¿alguien me puede decir como tengo que hacerlo?, estoy intentando pero no me sale:

Dim cn As New OleDb.OleDbConnection
Dim rsTabla As OleDb.OleDbDataReader
cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;" & _
"Data Source=d:\D.mdb;"
cn.Open()
Dim Sql As String
Sql = "SELECT * from g order by nombre"
Dim OleCmd As OleDb.OleDbCommand
OleCmd = New OleDb.OleDbCommand(Sql, cn)
rsTabla = OleCmd.ExecuteReader()

Hasta aqui creo que esta bien, creo..., ahora no se como ir al ultimo registro o posicionarme en el primero y tampoco se como obtener los datos del un registro leido, por ejemplo pasar el contenido del campo "nombre" a un textbox en el form...

Gracias por la ayuda.

Serg.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:OleDbDatareader

Publicado por roger (186 intervenciones) el 12/01/2010 17:30:02
no puedes ir a registros especificos, simplemente se recorre uno por uno. Puedes hacerlo con un ciclo

while(rsTabla.Read())

y para asignar un valor
textbox.Text = rsTabla("campo")

Eso iria dentro del while, y el valor que llevaria seria en el cual este posicionado el reader en ese momento dentro del ciclo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OleDbDatareader

Publicado por RiKardo (1 intervención) el 15/04/2010 01:48:48
Mira este ejemplo...

Try
'construct the command object and open a connection to the Contacts table
Dim cmdString As String = "Select ContactID, FirstName, LastName from Contacts"
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\contactmanagement.mdb"
Dim myConnection As OleDbConnection = New OleDbConnection(connString)
' Open connection
myConnection.Open()
'Create OleDbCommand object
Dim TheCommand As OleDbCommand = New OleDbCommand(cmdString, myConnection)
TheCommand.CommandType = CommandType.Text
' Create a DataReader and call Execute on the Command Object to construct it
Dim TheDataReader As OleDbDataReader = TheCommand.ExecuteReader()
While TheDataReader.Read()
System.Console.Write(TheDataReader("ContactID").ToString())
System.Console.Write(" ")
System.Console.Write(TheDataReader("FirstName").ToString())
System.Console.Write(" ")
System.Console.Write(TheDataReader("LastName").ToString())
ystem.Console.WriteLine()
End While
Catch ae As OleDbException
MsgBox(ae.Message())
End Try

con esto sacas los datos de todo el lector... ahora si quieres solo la primera fila o solo un campo te aconsejaria hacerlo desde la consulta, ejemplo si quieres una fila en especifico solo pon un WHERE, o si quieres la ultima pon un MAX y guiate x un valor autonumerico... ahy varias formas... esta me funciono de mil maravillas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar