![]() |
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 |
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: |
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' |
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>"); |
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:
|
Me sigue marcando el mismo error Compiler Error Message: CS0117: 'System.Data.SqlClient.SqlConnection' does not contain a definition for 'open' |
Cual es el exactamente el code que tienes..? |
:'( Tambien probe con esta Response.Write((String)resultado["name"]+" "+(String)resultado["puesto"]+"<br>"); |
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 :-( |
Cita:
Cita:
Cita:
|
Disculpa mi ignorancia pero que es la dr |
lo que pasa es que marca el siguiente error CS0103: The name 'dr' does not exist in the class or namespace 'ASP.WebForm1_aspx' |
Cita:
Cita:
|
Gracias, pero aun me marca un error CS0117: 'System.Data.SqlClient.SqlDataReader' does not contain a definition for 'close' |
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(); } |
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); } |
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(); } |
Si estásusando c# prueba con: resultado.Close(); conexion.Close(); Puesto que este diferencia entre mayusculas y minusculas. Código PHP: |
Gracias por la ayuda ya lo pude hacer :-) :adios: |
Podrías poner que fue lo que hiciste. o cual fue tu error ?? para tenerlo como referencia.. ;-) Salu2 |
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: |
| 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.