Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Conexion (http://www.forosdelweb.com/f29/conexion-320064/)

Baby78 26/07/2005 13:54

Conexion
 
:pensando:
Necesito saber que es lo que estoy haciendo mal tengo el siguiente codigo

<%@ Page language="C#" debug=true%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html>
<head><title></title></head>
<body>
<script runat="server">

void Muestra(Object sender, EventArgs args){
OleDbConnection conexion =new OleDbConnection("Provider=SQLOLEDB;server=(local); database=mydatabase;uid=sa;pwd=");
String sentencia="SELECT nombre,puesto From employees";
OleDbCommand comando=new OleDbCommand (sentencia);

OleDbDataReader resultado;
try{
conexion.Open();
comando.Connection=conexion;
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write((string)resultado("nombre")+" "+(string)resultado("puesto")+"<br>");
}
resultado.Close();
conexion.Close();
}catch(OleDbException e){
Response.Write("se ha producido una excepción: "+e);
}
}
</script>

<form runat="server" id="formulario">
<asp:Label Runat="server" ID="Texto" Text=""/><br>
<asp:Button OnClick="Muestra" Runat="server" ID="boton" Text="Muestra Datos"/>
</form>
</body>
</html>


pero me marca el siguiente error
CS0117: 'System.Data.SqlClient.SqlConnection' does not contain a definition for 'open'

si me puedieran explicar en que estoy mal, lo que pasa es que soy nueva en esto, estoy utilizando Visual Studio .Net

grisel 26/07/2005 14:32

Estoy viendo tu codigo , utilizas una conexion SqlConnection, o OleDbConnection o ambas?

por lo q veo en tu codigo es OleDbConnection, entonces porque revuelves el tipo de conexion ?

:pensando:

Baby78 26/07/2005 14:44

Disculpa ese no era podrias checar este

<%@ Page language="C#" debug=true%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head><title></title></head>
<body>
<script runat="server">

void Muestra(Object sender, EventArgs args){
SqlConnection conexion =new SqlConnection("server=(local);database=mydatabase; uid=sa;pwd=mypass");
String sentencia="SELECT name,puesto From employees";
SqlCommand comando=new SqlCommand (sentencia);

SqlDataReader resultado;
try{
conexion.Open();
comando.Connection=conexion;
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write((string)resultado.GetString(0)+" "+resultado.GetString(1)+"<br>");
}
resultado.Close();
conexion.Close();
}catch(SqlException e){
Response.Write("se ha producido una excepción: "+e);
}
}
</script>

<form runat="server" id="formulario">
<asp:Label Runat="server" ID="Texto" Text=""/><br>
<asp:Button OnClick="Muestra" Runat="server" ID="boton" Text="Muestra Datos"/>
</form>
</body>
</html>


marca este error CS0117: 'System.Data.SqlClient.SqlConnection' does not contain a definition for 'open'

Baby78 26/07/2005 14:47

perdon meti un string de mas
Response.Write((string)resultado.GetString(0)+" "+resultado.GetString(1)+"<br>");

correcto
Response.Write(resultado.GetString(0)+" "+resultado.GetString(1)+"<br>");

RootK 26/07/2005 15:10

Solo para complementar la informacion..:


El GetString es bueno usarlo cuando sabes la posición de los campos, y tambien cuando estas usando índices o para seguir cierto patrón y ahorrarse código (en algunos casos) y de hecho es la forma más rápida de acceso a datos ya que estás haciendo el cast de forma directa, la desventaja es que si no te sabes el órden puede caerse tu reader.. :si:

La otra forma tambien para accesar a traves del nombre del campo y no del índice es hacerlo así: (hablando de c#)

Cita:

Response.Write(dr["nombre"].ToString()+" "+dr["puesto"].ToString()+"<br>");
Salu2

Baby78 26/07/2005 15:14

Me sigue marcando el mismo error
Compiler Error Message: CS0117: 'System.Data.SqlClient.SqlConnection' does not contain a definition for 'open'

RootK 26/07/2005 15:19

Cual es el exactamente el code que tienes..?

Baby78 26/07/2005 15:22

:'(
Tambien probe con esta
Response.Write((String)resultado["name"]+" "+(String)resultado["puesto"]+"<br>");

Baby78 26/07/2005 15:24

Ahi te va...

<%@ Page language="C#" debug=true%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head><title>Base de Datos</title></head>
<body>
<script runat="server">

void Muestra(Object sender, EventArgs args){
SqlConnection conexion =new SqlConnection("server=(local);database=alcatel;uid =sa;pwd=alcatel");
String sentencia="SELECT name,puesto From employees";
SqlCommand comando=new SqlCommand (sentencia);

SqlDataReader resultado;
try{
conexion.Open();
comando.Connection=conexion;
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write((String)resultado["name"]+" "+(String)resultado["puesto"]+"<br>");
}
resultado.Close();
conexion.Close();
}catch(SqlException e){
Response.Write("se ha producido una excepción: "+e);
}
}
</script>

<form runat="server" id="formulario">
<asp:Label Runat="server" ID="Texto" Text=""/><br>
<asp:Button OnClick="Muestra" Runat="server" ID="boton" Text="Muestra Datos"/>
</form>
</body>
</html>


a ver que se puede hacer :-(

RootK 26/07/2005 15:33

Cita:

Tambien probe con esta
Response.Write((String)resultado["name"]+" "+(String)resultado["puesto"]+"<br>"); :ojotes:
Baby78, probaste con lo que te puse.. :pensando:

Cita:

Response.Write(dr["nombre"].ToString()+" "+dr["puesto"].ToString()+"<br>");
Y coloca tu code de ésta forma:
Cita:

...
try{
comando.Connection=conexion;
conexion.Open();
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write(dr["nombre"].ToString()+" "+dr["puesto"].ToString()+"<br>");
}
....


Baby78 26/07/2005 15:49

Disculpa mi ignorancia pero que es la dr

Baby78 26/07/2005 15:50

lo que pasa es que marca el siguiente error
CS0103: The name 'dr' does not exist in the class or namespace 'ASP.WebForm1_aspx'

RootK 26/07/2005 15:52

Cita:

lo que pasa es que marca el siguiente error
CS0103: The name 'dr' does not exist in the class or namespace 'ASP.WebForm1_aspx'
dr es una variable friend :si: que en tu caso estas usando resultado, por lo tanto sería así:


Cita:

...
try{
comando.Connection=conexion;
conexion.Open();
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write(resultado["nombre"].ToString()+" "+resultado["puesto"].ToString()+"<br>");
}
...

Baby78 26/07/2005 15:58

Gracias, pero aun me marca un error
CS0117: 'System.Data.SqlClient.SqlDataReader' does not contain a definition for 'close'

grisel 26/07/2005 16:17

No esta cerrando tu conexion

primero te marcaba porque no estaba abierta

ahora al final de tu codigo dale un conexion.Close ()

try
{
// tu codigo
}
catch
{
// codigo
}
finally
{
conexion.Close();
}

Baby78 26/07/2005 16:37

mira asi tengo el codigo
try{
comando.Connection=conexion;
conexion.Open();
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write(resultado["name"].ToString()+" "+resultado["puesto"].ToString()+"<br>");
}

resultado.close();
conexion.close();
}catch(SqlException e){
Response.write("Se ha producido una excepcion: "+e);
}

grisel 26/07/2005 19:00

try{
comando.Connection=conexion;
conexion.Open();
resultado= comando.ExecuteReader();
while(resultado.Read()){
Response.Write(resultado["name"].ToString()+" "+resultado["puesto"].ToString()+"<br>");

resultado.close();
conexion.close();

}
}catch(SqlException e){
Response.write("Se ha producido una excepcion: "+e);
}
finally
{
resultado.close();
conexion.close();

}

Jose_minglein2 26/07/2005 23:49

Si estásusando c# prueba con:

resultado.Close();
conexion.Close();

Puesto que este diferencia entre mayusculas y minusculas.

Código PHP:

try{
comando.Connection=conexion;
conexion.Open();
resultadocomando.ExecuteReader();
while(
resultado.Read())
{
Response.Write(resultado["name"].ToString()+" "+resultado["puesto"].ToString()+"<br>");
}

resultado.Close();
conexion.Cose();
}catch(
SqlException e){
Response.write("Se ha producido una excepcion: "+e);



Baby78 27/07/2005 11:44

Gracias por la ayuda ya lo pude hacer :-) :adios:

RootK 27/07/2005 11:56

Podrías poner que fue lo que hiciste. o cual fue tu error ?? para tenerlo como referencia.. ;-)

Salu2

Baby78 19/08/2005 17:11

Me marcaba error por las letras, unas tenias que ir en mayusculas y otras no. Pero me sirvio mucho su ayuda, dejo el codigo final por si alguien lo quiere utilizar :-)

Código:

       
<script runat="server">
        void Muestra(Object sender, EventArgs args)
          {
 
        SqlConnection conexion = new SqlConnection  ("server=local;database=mydatabase;uid=;pwd=mypass");
        String sentencia = "SELECT NOMBRE,APELLIDO,MATERNO,NUMERO FROM Personal ";
        SqlCommand comando = new SqlCommand (sentencia);
        SqlDataReader resultado;
        try {
                    conexion.Open();
                comando.Connection = conexion;
                resultado = comando.ExecuteReader();
                while (resultado.Read()){
                Response.Write (resultado["NOMBRE"].ToString()+ " "+resultado["APELLIDO"].ToString()+ " "+resultado["MATERNO"].ToString()+" "+resultado["NUMERO"].ToString()+ "<br>");
                }
        resultado.Close();
        conexion.Close();
        }catch(SqlException e){
                Response.Write("Se ha producido una excepcion: " +e);
        }
}             
</script>
       
<form runat="server" id="formulario">
 
    <asp:Label Runat="server" ID="Texto" Text="" /><br>
<asp:Button OnClick="Muestra" Runat="server" ID="boton" Text="Muestra Datos" />
</form>



La zona horaria es GMT -6. Ahora son las 21:31.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.