Visual CSharp .NET - Obtener el valor de una celda en una etiqueta

 
Vista:

Obtener el valor de una celda en una etiqueta

Publicado por fermar (6 intervenciones) el 06/03/2007 20:43:14
Hola,
el problema es que quiero visualizar el valor de una celda de una tabla (de sql server) obtenida mediante una consulta (select...) y no sé como hacerlo, el caso es que se mostrar toda una tabla en el formulario, pero a la hora de mostrar el contenido de una celda me pierdo, en parte porque tampoco conozco muchos metodos y no controlo.
muchas gracias!
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

RE:Obtener el valor de una celda en una etiqueta

Publicado por DANNY ROBLES (2 intervenciones) el 05/03/2008 18:12:20
void Page_Load(object sender, System.EventArgs e)
{
// Empezamos declarando una variable de tipo OleDbConnection, que nos servirá
// para crear la conexión con la base de datos.
// Podemos acceder a esta clase porque hemos importado el espacio de nombres
// System.Data.OleDb
OleDbConnection conn;
// Una vez declarada podemos instanciarla y para ello utilizamos el contructor
// de la clase. Como argumento le pasamos al constructor un string
// que es la cadena de conexión para acceder a una base de datos de access
// de nombre datos.mdb y que se encuentra en la misma carpeta que
// el archivo en el que estamos trabajando
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
// Esta no es una forma muy habitual de declarar e instanciar. Lo habitaul son
// expresiones del tipo
// OleDbConnection connconn = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
// pero en este fichero vamos detallar todos los pasos lo más posible
// El siguiente paso es tener una sentencia SQL que ejecutar
// Para ello declarams una variable de tipo string y le damos un valor
string sSQL;
sSQL = "SELECT Nombre, Edad, Email FROM Agenda";
// El siguiente paso será crear un objeto de tipo OleDbCommand que servirá
// para enviar una sentencia SQL a la base de datos a través de la conexión
// previamente creada
// declaramos la variable
OleDbCommand cmd;
// la instanciamos, y en el contructor le indicamos la sentencia SQL
// que queremos ejecutar. Asimismo le decimos la conexión a través de la cual
// vamos a trabajar.
cmd = new OleDbCommand(sSQL,conn);
// Cuando ejecutamos la sentencia SQL a través del objeto command, la base
// de datos nos devuelve el conjunto de filas que son el resultado
// de esa ejecución. Para recoger este resultado vamos a utilizar un objeto
// OleDbDataReader que nos permite recorrer, solo hacia delante, las filas
// devueltas por la base de datos
OleDbDataReader miDataReader;
// Ahora abrimos la conexión con la base de datos para poder ejectuar el command
conn.Open();
// y ejecutamos el OleDbCommand recogiendo los resultados en nuestro DataReader
miDataReader = cmd.ExecuteReader();
// Ahora vamos a recorrer el DataReader. Para ello utilizamos un bucle do while
// que tiene como condición el resultado de llamar al método Read del
// DataReader. Este método devolverá true si hay una siguiente fila que leer
// y además la leerá para que poder leer el contenido de esa fila
while(miDataReader.Read())
{
// mientras recorremos el data reader vamos a rellenar la tabla que hemos
// creado en diseño, nuestra "laTabla"
// Crearemos una fila, las columnas de esa fila y añadiremos la fila a la tabla
TableRow fila;
fila=new TableRow();
// Declaramos la celda
TableCell celda;
// Creamos una celda
celda=new TableCell();
// Usamos un control literal, que básicamente sirve para almacenar
// texto. Este control lo añadiremos a la colección de controles
// de la celda en cuestión
LiteralControl textoCelda;
textoCelda= new LiteralControl();
// Le damos valor al LiteralControl leyendo del DataReader
textoCelda.Text=miDataReader["Nombre"].ToString();
celda.Controls.Add(textoCelda);
// y añadimos la celda recien creada a la fila
fila.Cells.Add(celda);
// Hacemos lo mismo para el segundo campo de esta fila
celda=new TableCell();
textoCelda= new LiteralControl();
textoCelda.Text=miDataReader["Edad"].ToString();
celda.Controls.Add(textoCelda);
fila.Cells.Add(celda);
// y para el tercer campo
celda=new TableCell();
textoCelda= new LiteralControl();
textoCelda.Text=miDataReader["Email"].ToString();
celda.Controls.Add(textoCelda);
fila.Cells.Add(celda);
// Para finalizar añadimos la fila a la tabla
laTabla.Rows.Add(fila);
}

// Para acabar cerramos la conexión, y por supuesto el DataReader
conn.Close();
miDataReader.Close();
}
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:Obtener el valor de una celda en una etiqueta

Publicado por DANNY ROBLES (2 intervenciones) el 05/03/2008 18:12:44
void Page_Load(object sender, System.EventArgs e)
{
// Empezamos declarando una variable de tipo OleDbConnection, que nos servirá
// para crear la conexión con la base de datos.
// Podemos acceder a esta clase porque hemos importado el espacio de nombres
// System.Data.OleDb
OleDbConnection conn;
// Una vez declarada podemos instanciarla y para ello utilizamos el contructor
// de la clase. Como argumento le pasamos al constructor un string
// que es la cadena de conexión para acceder a una base de datos de access
// de nombre datos.mdb y que se encuentra en la misma carpeta que
// el archivo en el que estamos trabajando
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
// Esta no es una forma muy habitual de declarar e instanciar. Lo habitaul son
// expresiones del tipo
// OleDbConnection connconn = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
// pero en este fichero vamos detallar todos los pasos lo más posible
// El siguiente paso es tener una sentencia SQL que ejecutar
// Para ello declarams una variable de tipo string y le damos un valor
string sSQL;
sSQL = "SELECT Nombre, Edad, Email FROM Agenda";
// El siguiente paso será crear un objeto de tipo OleDbCommand que servirá
// para enviar una sentencia SQL a la base de datos a través de la conexión
// previamente creada
// declaramos la variable
OleDbCommand cmd;
// la instanciamos, y en el contructor le indicamos la sentencia SQL
// que queremos ejecutar. Asimismo le decimos la conexión a través de la cual
// vamos a trabajar.
cmd = new OleDbCommand(sSQL,conn);
// Cuando ejecutamos la sentencia SQL a través del objeto command, la base
// de datos nos devuelve el conjunto de filas que son el resultado
// de esa ejecución. Para recoger este resultado vamos a utilizar un objeto
// OleDbDataReader que nos permite recorrer, solo hacia delante, las filas
// devueltas por la base de datos
OleDbDataReader miDataReader;
// Ahora abrimos la conexión con la base de datos para poder ejectuar el command
conn.Open();
// y ejecutamos el OleDbCommand recogiendo los resultados en nuestro DataReader
miDataReader = cmd.ExecuteReader();
// Ahora vamos a recorrer el DataReader. Para ello utilizamos un bucle do while
// que tiene como condición el resultado de llamar al método Read del
// DataReader. Este método devolverá true si hay una siguiente fila que leer
// y además la leerá para que poder leer el contenido de esa fila
while(miDataReader.Read())
{
// mientras recorremos el data reader vamos a rellenar la tabla que hemos
// creado en diseño, nuestra "laTabla"
// Crearemos una fila, las columnas de esa fila y añadiremos la fila a la tabla
TableRow fila;
fila=new TableRow();
// Declaramos la celda
TableCell celda;
// Creamos una celda
celda=new TableCell();
// Usamos un control literal, que básicamente sirve para almacenar
// texto. Este control lo añadiremos a la colección de controles
// de la celda en cuestión
LiteralControl textoCelda;
textoCelda= new LiteralControl();
// Le damos valor al LiteralControl leyendo del DataReader
textoCelda.Text=miDataReader["Nombre"].ToString();
celda.Controls.Add(textoCelda);
// y añadimos la celda recien creada a la fila
fila.Cells.Add(celda);
// Hacemos lo mismo para el segundo campo de esta fila
celda=new TableCell();
textoCelda= new LiteralControl();
textoCelda.Text=miDataReader["Edad"].ToString();
celda.Controls.Add(textoCelda);
fila.Cells.Add(celda);
// y para el tercer campo
celda=new TableCell();
textoCelda= new LiteralControl();
textoCelda.Text=miDataReader["Email"].ToString();
celda.Controls.Add(textoCelda);
fila.Cells.Add(celda);
// Para finalizar añadimos la fila a la tabla
laTabla.Rows.Add(fila);
}

// Para acabar cerramos la conexión, y por supuesto el DataReader
conn.Close();
miDataReader.Close();
}
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