Foros del Web » Programación para mayores de 30 ;) » .NET »

Obtener datos de un recordset con ASP.net

Estas en el tema de Obtener datos de un recordset con ASP.net en el foro de .NET en Foros del Web. Hola a to2. Estoy empezando con aSP.net y tengo bastante lio. A ver si alguien me echa una mano. Vereis, quiero hacer un formuluario que ...
  #1 (permalink)  
Antiguo 17/06/2004, 09:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
Obtener datos de un recordset con ASP.net

Hola a to2.
Estoy empezando con aSP.net y tengo bastante lio.
A ver si alguien me echa una mano.
Vereis, quiero hacer un formuluario que obtengo los datos de una b.d.
Me estoy liando de mala manera y no sé como decirle que en el campo de texto "Text_idFichas" me devuelva el primer campo de mi recordset...
He realizado el siguiente codigo pero me sale "Error de lectura porque no hay datos"
No sé si me he explicado.....

Os adjunto el codigo:
Código:
 
<%@ Page Language="VB" %>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
  Sub Page_Load(sender As Object, e As EventArgs)
		Dim objConnection As SqlConnection
		Dim objCommand	As SqlCommand
		Dim objAdapter	As SqlDataAdapter
		Dim objDataSet	As DataSet
		Dim strSQLQuery   As String
		' Set up our connection.
		objConnection = New SqlConnection("Data Source=miequipo" _
			& "Initial Catalog=MiBD;User Id=MiUser;Password=MiPassword;" _
			& "Connect Timeout=15;Network Library=dbmssocn;")
		' Set up our SQL query text.
		strSQLQuery = "SELECT * FROM identificadores"
		' Create new command object passing it our SQL query
		' and telling it which connection to use.
		objCommand = New SqlCommand(strSQLQuery, objConnection)
		 'abrimos la conexion
		 objConnection.open()
		 Dim rs As SqlDataReader = objCommand.ExecuteReader
		 Text_idFichas.Text = rs ("idFichas")
		objConnection.Close()
	End Sub
</script>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
	<form runat="server" name="Form1">
		<p>
			idFIchas: 
			<asp:TextBox id="Text_idFichas" runat="server"></asp:TextBox>
		</p>
		   </form>
</body>
</html>
gracias.
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 17/06/2004, 10:55
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Hola Motki, lo que pasa es que cuando usas un datareader (en asp.net ya no se usa el término de recordset) tienes que usar el metod read para poder usar el datareader..

En tu ejemplo te faltaría:

Cita:
Dim rs As SqlDataReader = objCommand.ExecuteReader
rs.read
Text_idFichas.Text = rs ("idFichas")
rs.close
Aunque si deseas agregar una validacion por si no encuentra registros sería mejor

Ejemplo:
Cita:
Dim rs As SqlDataReader = objCommand.ExecuteReader
If rs.read
Text_idFichas.Text = cstr(rs ("idFichas"))
else
Text_idFichas.Text = "No se encontraron registros..."

end If
rs.close

Y a provecho para limpiar unpoco de code porque tienes cosas innecesarias..
podrías quitar el dataset y dataadapter ya que en tu ejemplo no los necesitas.

Salu2 y cualquier cosa por aqui andamos...
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 18/06/2004, 00:54
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
ok mucgas gracias RootK.

me ha funcionado!!!

__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
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 14:00.