Foros del Web » Programando para Internet » ASPX (.net) »

Ayuda a un novato... llamar cadena de conexión

Estas en el tema de Ayuda a un novato... llamar cadena de conexión en el foro de ASPX (.net) en Foros del Web. Hola amigos: Comenzé hace poco en esta área. y tengo una confusión del porte de un buque. Les cuento lo que quiero. Tengo en mi ...
  #1 (permalink)  
Antiguo 29/09/2008, 23:36
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Ayuda a un novato... DetailsView???

Hola amigos:

Comenzé hace poco en esta área.
y tengo una confusión del porte de un buque. Les cuento lo que quiero.

Tengo en mi webconfig mi cadena de conexión, ahora quisiera ocupar esa cadena de conexión en una página que estoy haciendo, la idea es que al cargar la página me llene un Gridview con los datos de una tabla. Pero no sé cómo llamar a mi cadena desde la página.

Resumiendo:
¿Cómo debo llamar a mi conexión desde mi archivo xxxx.aspx.cs?
¿Cómo le asigno a mi Gridview la conexión, para la consulta?
¿Qué debo hacer para ocupar en toda la página la conexión, por ejemplo aparte del Gridview, ocuparlo en un Dropdownlist?

Estoy trabajando con Visual Studio 2008/C#, y como base de datos SQLServer 2005 Express.


Esto es lo que tengo...Sé que me faltan cosas y hay cosas malas, pero no sé como ocuparlos como los DataSet, ya que en Google busqué, pero se habla de tantas formas de hacerlo, que me pierdo, por ello recurro a ustedes, además no quiero utilizar el asistente.

<connectionStrings>
<add name="EJEMPLO"
connectionString="DataSource=FXS\SQLEXPRESS;initia l
Catalog=USUARIOS;"/>
</connectionStrings>



using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{
string strConn =
ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString;
SqlConnection sqlConn=new SqlConnection();
//SqlConn.ConnectionString=strConn; --> esta línea no me la reconoce



protected void Page_Load(object sender, EventArgs e)
{
// Acá no sé como Hacerlo... para llenar el Gridview con una consulta
"Select * from tabla"

}

}
}


Espero me ayuden. Salu2 y muchas gracias.

Última edición por fonchi; 06/10/2008 a las 19:03
  #2 (permalink)  
Antiguo 30/09/2008, 06:04
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Ayuda a un novato... llamar cadena de conexión

Hola.

Fijate si este ejemplo te sirve:
http://www.solotuweb.com/fs~id~6964.html

Cualquier duda pregunta. Suerte.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 30/09/2008, 10:32
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Hola.

Fijate si este ejemplo te sirve:
http://www.solotuweb.com/fs~id~6964.html

Cualquier duda pregunta. Suerte.

Muchas gracias por responder, revisaré el link.
Salu2.
  #4 (permalink)  
Antiguo 30/09/2008, 19:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Cita:
Iniciado por fonchi Ver Mensaje
Hola amigos:

Comenzé hace poco en esta área.
y tengo una confusión del porte de un buque. Les cuento lo que quiero.

Tengo en mi webconfig mi cadena de conexión, ahora quisiera ocupar esa cadena de conexión en una página que estoy haciendo, la idea es que al cargar la página me llene un Gridview con los datos de una tabla. Pero no sé cómo llamar a mi cadena desde la página.

Resumiendo:
¿Cómo debo llamar a mi conexión desde mi archivo xxxx.aspx.cs?
¿Cómo le asigno a mi Gridview la conexión, para la consulta?
¿Qué debo hacer para ocupar en toda la página la conexión, por ejemplo aparte del Gridview, ocuparlo en un Dropdownlist?

Estoy trabajando con Visual Studio 2008/C#, y como base de datos SQLServer 2005 Express.


Esto es lo que tengo...Sé que me faltan cosas y hay cosas malas, pero no sé como ocuparlos como los DataSet, ya que en Google busqué, pero se habla de tantas formas de hacerlo, que me pierdo, por ello recurro a ustedes, además no quiero utilizar el asistente.

<connectionStrings>
<add name="EJEMPLO"
connectionString="DataSource=FXS\SQLEXPRESS;initia l
Catalog=USUARIOS;"/>
</connectionStrings>



using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{
string strConn =
ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString;
SqlConnection sqlConn=new SqlConnection();
//SqlConn.ConnectionString=strConn; --> esta línea no me la reconoce



protected void Page_Load(object sender, EventArgs e)
{
// Acá no sé como Hacerlo... para llenar el Gridview con una consulta
"Select * from tabla"

}

}
}


Espero me ayuden. Salu2 y muchas gracias.
  #5 (permalink)  
Antiguo 30/09/2008, 22:25
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Hola de nuevo...

He intentado hacerlo, he aquí lo que tengo, pero me manda error.
porfa ayuda.

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;



namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{

DataSet dataSetOrg = new DataSet();
//acá me manda un error... Palabra clave no admitida: 'datasource'.
SqlConnection cnx = new SqlConnection
ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString);


protected void Page_Load(object sender, EventArgs e)
{

string Consulta = "SELECT * FROM CONTACTOS";
SqlCommand Orden = new SqlCommand(Consulta, cnx);

Lector = Orden.ExecuteReader();

miData = new DataTable();
miData.Load(Lector);

GV1.DataSource = miData;



}



}
}

Salu2 y gracias.
  #6 (permalink)  
Antiguo 01/10/2008, 07:45
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda a un novato... llamar cadena de conexión

SqlConnection cnx = new SqlConnection
ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString)

no le falta un parentesis

SqlConnection cnx = new SqlConnection (
ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString)
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 01/10/2008, 10:11
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Hola:

Primero gracias por responder...
Puse el parentesis que faltaba, pero sigue arrojando el mismo error.

¿Será que me falta declarar algo previamente o alguna referencia?

El error...
SqlConnection cnx = new
SqlConnection(ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString);

El código de usuario no controló ArgumentException
Palabra clave no admitida: 'datasource'.

Sugerencia para la solución del problema:
Obtener ayuda general sobre esta excepción.


Esto lo muestra en una ventana al ejecutar el proyecto con una linea ligada especificamente
a esta palabra: ConfigurationManager.

Salu2 y gracias.

Última edición por fonchi; 01/10/2008 a las 10:23
  #8 (permalink)  
Antiguo 01/10/2008, 10:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda a un novato... llamar cadena de conexión

que es Lector? cuando abres la conexion??
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 01/10/2008, 10:34
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Cita:
Iniciado por Peterpay Ver Mensaje
que es Lector? cuando abres la conexion??


Hola Peterpay:

La verdad es que de tanto buscar...me basé en el sgte link:
http://mspnor.wordpress.com/2008/02/...a-una-bd-en-c/

y asi he estado probando, la cadena de conexión esta en el web config,
y se supone que en el .cs la llamo, pero no se si era necesario abrirla, pensé que solo con llamarla estaba listo. Disculpen la ignorancia, pero empezé hace poco

salu2
  #10 (permalink)  
Antiguo 01/10/2008, 10:38
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda a un novato... llamar cadena de conexión

No seas malo pon tu codigo completo en esa parte tal y como lo tienes ahora asi como los errores q te marca.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #11 (permalink)  
Antiguo 01/10/2008, 11:49
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

jajaja, no si no es maldad.

Bueno acá va.

//Parte de mi webconfig

<connectionStrings>
<add name="EJEMPLO" connectionString="DataSource=FXS\SQLEXPRESS;initia l Catalog=USUARIOS;"/>
</connectionStrings>
------------------------------------------------

//Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;



namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{

DataSet dataSetOrg = new DataSet();
//acá me manda un error... Palabra clave no admitida: 'datasource'.
SqlConnection cnx = new SqlConnection
(ConfigurationManager.ConnectionStrings["EJEMPLO"].ConnectionString);


protected void Page_Load(object sender, EventArgs e)
{

string Consulta = "SELECT * FROM CONTACTOS";
SqlCommand Orden = new SqlCommand(Consulta, cnx);

Lector = Orden.ExecuteReader();

miData = new DataTable();
miData.Load(Lector);

GV1.DataSource = miData;



}



}
}
  #12 (permalink)  
Antiguo 01/10/2008, 12:00
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda a un novato... llamar cadena de conexión

Pero cual es el error

intenta cambiando

Lector = Orden.ExecuteReader();

por

SqlDataReader Lector = Orden.ExecuteReader();

GV1 SI lo tienes Definido?

pregunto porq seria lo unico que veo raro en tu codigo
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #13 (permalink)  
Antiguo 02/10/2008, 19:23
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda a un novato... llamar cadena de conexión

Hola...acá otra vez.

Logré ejecutarlo y no me arroja ningún error. Me muestra la página pero...plop, no me muestra el Gridview, lo único que me muestra es el label.

Les dejo el código para que me puedan guíar y así corregir lo que este malo.

nota:
La tabla contiene datos.
Le puse puntos de interrupción y verifiqué que el cnx no venga null.
Revisé la consulta con el sql server y me muestra los datos.



Conexión en el web config.
----------------------------------
<connectionStrings>
<add name="Grid" connectionString="Data
Source=FXS\SQLEXPRESS;Initial
Catalog=USUARIOS;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
------------------------------------------------------------------


Default.aspx
----------------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ASPNETFuturesEnabledWebApplication1._Def ault" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Llenado de GridView</title>
<link href="StyleSheet1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />

<asp:Label ID="LBL1" Text="Grilla Prueba" runat="server"></asp:Label>
<asp:GridView ID="GV1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="Nombre" DataField="NOMBRE"
SortExpression="NOMBRE"><ItemStyle HorizontalAlign="Left"
VerticalAlign="Top" /></asp:BoundField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
--------------------------------------------------------------------------------------------------------

Default.aspx.cs
--------------------
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{

DataSet dataSetOrg = new DataSet();
SqlConnection cnx = new
SqlConnection(ConfigurationManager.ConnectionStrin gs["Grid"].ConnectionString);

protected void Page_Load(object sender, EventArgs e)
{

cnx.Open();
string Consulta = "SELECT NOMBRE FROM CONTACTOS";
SqlCommand Orden = new SqlCommand(Consulta, cnx);
SqlDataReader Lector = Orden.ExecuteReader();

GV1.DataSource = Lector;


}

}
}

Salu2 y gracias.
  #14 (permalink)  
Antiguo 02/10/2008, 22:46
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Ayuda a un novato... llamar cadena de conexión

Hola amigos:

Finalmente me resulta lo que quiero, dejo el código por si a alguien le sirve
ahora si desean mejorarlo, se aceptan sugerencias.


using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{
DataSet myDataSet;

SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrin gs["Grid"].ConnectionString);

protected void Page_Load(object sender, EventArgs e)
{
GV1.Visible = true;
try
{
cnx.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter("SELECT NOMBRE
FROM CONTACTOS", cnx);

myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
GV1.DataSource = myDataSet;
GV1.DataBind();

}

catch
{
LBL1.Text = "Algo Ocurrio";
}
finally
{
cnx.Close();
}


}

}
}

Salu2 y gracias.
  #15 (permalink)  
Antiguo 06/10/2008, 15:15
Avatar de fonchi  
Fecha de Ingreso: septiembre-2006
Ubicación: Concepción
Mensajes: 170
Antigüedad: 17 años, 7 meses
Puntos: 0
Información Respuesta: Ayuda a un novato... DetailsView ???

Hola:

Otra vez por acá...Bueno, he leído que existe un control llamado DetailsView
y lo que he intentado es hacer que al seleccionar un registro en mi GridView, me muestre los datos que quiero en el DetailsView. Con lo que he encontrado en internet, no logro hacer que me funcione, ya que trato de adecuarlo según lo que tengo, pero nada.

Lo hice con el asistente(sólo para ver como queda), pero no es mi fin, ya que queda según mi opinion
enrredado el código, y lo que quiero es separar diseño y código

Acá dejo como tengo el DetailsView en default.aspx.
---------------------------------------------------------------------
<asp:DetailsView ID="DV" AutoGenerateRows="False" HeaderText="Datos" runat="server" SkinID="DetailsView1" DefaultMode="ReadOnly" Width="100%" OnPreRender="DV_OnPreRender">
<Fields>
<asp:TemplateField>
<ItemTemplate>
<td class="Etiqueta_Details">NOMBRE</td>
<td><asp:Label runat="server" ID="lblNombre"></asp:Label></td>
<td class="Etiqueta_Details">FONO</td>
<td><asp:Label runat="server" ID="lblFono"></asp:Label></td>

</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>


Y mi Default.aspx.cs
----------------------------------------------------------------------------
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;


namespace ASPNETFuturesEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{
DataSet myDataSet;
SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrin gs["Grid"].ConnectionString);

protected void Page_Load(object sender, EventArgs e)
{
IncializaDropDownList();

try
{
cnx.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter("SELECT ID, NOMBRE,FONO,CIUDAD FROM CONTACTOS", cnx);
myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
GV1.DataSource = myDataSet;
GV1.DataBind();
}
catch
{
LBL1.Text = "Algo Ocurrio";
}
finally
{
cnx.Close();
}
}

protected void GV1_SelectedIndexChanged(object sender, EventArgs e)
{
//DV.Visible = true;
LBL1.Text = "Seleccionaste un Registro";
}

protected void DV_OnPreRender(object sender, EventArgs e)
{


if (GV1.SelectedDataKey != null)
{

SqlDataAdapter Datos = new SqlDataAdapter("SELECT NOMBRE, FONO FROM CONTACTOS
WHERE ID" = +GV1.SelectedDataKey.Value.ToString()
);
DV.DataSource = Datos.DataView;
DV.DataKeyNames = new string[] { "ID" };
DV.Visible = true;
DV.DataBind();

switch (DV.CurrentMode)
{
case DetailsViewMode.ReadOnly:
((Label)DV.FindControl("lblNombre")).Text = Datos["NOMBRE"].ToString().Replace('.', ',');
((Label)DV.FindControl("lblFono")).Text = Datos["FONO"].ToString().Replace('.', ',');
}

}
//Lo que esta en cursiva es lo que me subrraya como error al momnto de ejecutar.

}

internal void IncializaDropDownList()
{
cnx.Open();

SqlDataAdapter myAdapter2 = new SqlDataAdapter("SELECT NOMBRE
FROM CONTACTOS", cnx);
myDataSet = new DataSet();
myAdapter2.Fill(myDataSet);


this.DDL1.DataSource = myDataSet;
this.DDL1.DataValueField = "NOMBRE";
this.DDL1.DataTextField = "NOMBRE";
this.DDL1.DataBind();

cnx.Close();
}


}
}

Bueno todo esto lo estoy haciendo para aprender(Por eso es como básico mi proyecto)

Se agradece cualquier aporte, Salu2.

Última edición por fonchi; 06/10/2008 a las 15:38
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 21:22.