• Jueves 14 de Noviembre de 2024, 18:44

Autor Tema:  Consulta Sql  (Leído 6003 veces)

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Consulta Sql
« en: Miércoles 6 de Abril de 2005, 20:38 »
0
Hola a todos, mi problema es que estoy empesando en asp.net y necesito hacer una busqueda a una base de datos para verificar si el usuario existe, y no se como mandar parametros a la consulta para que tome user.text y pws.text de mi formulario.

Dim dreader As SqlClient.SqlDataReader
        Dim user, pws As String
        user = TBusuario.Text
        pws = TBpasword.Text

        SqlConuser.Open()
        dreader = SqlCmdselectuser.ExecuteReader()

        If ((dreader(1).ToString() = TBusuario.Text) & (dreader(2).ToString() = TBpasword.Text)) Then
        Response.Redirect("ruta.aspx")
        Else
           msgerror.Visible = True
        End If

        dreader.Close()
        SqlConuser.Close()
         End If

en la propiedad de CommandText = SELECT USUARIO, PASWORD FROM USUARIO WHERE (USUARIO = user) And (PASWORD = pws)

bueno agradesco cualquier comentario, saludos....

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Consulta Sql
« Respuesta #1 en: Jueves 7 de Abril de 2005, 01:29 »
0
Un pequeño ejemplo talvez ayude,  pero nota que es con DataSet.

Código: Text
  1.  
  2. <%@ Page Language="VB" %>
  3. <script runat="server">
  4.  
  5.     Sub LoginBtn_Click(Sender As Object, E As EventArgs)
  6.    
  7.         If Page.IsValid Then
  8.             Dim UserDS As New System.Data.DataSet
  9.    
  10.             UserDS = GetUser(UserName.Text, UserPass.Text)
  11.             If UserDS.Tables(0).Rows.Count = 1 Then
  12.                 'ACA Redireccionas a donde quieras mandar al usuario que existe en la BD
  13.             Else
  14.                 'Aca mandas a volar al usuario que no este en la BD
  15.                 Msg.Text = "Invalid Credentials, Please Try Again Kev"
  16.             End If
  17.         End If
  18.    
  19.     End Sub
  20.    
  21.         Function GetUser(ByVal userName As String, ByVal userPassword As String) As System.Data.DataSet
  22.             Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Orders'"
  23.             Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
  24.    
  25.             Dim queryString As String = "SELECT [Users].* FROM [Users] WHERE (([Users].[UserName] = @UserName) AND ([Users"& _
  26.     "].[UserPassword] = @UserPassword))"
  27.             Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
  28.             dbCommand.CommandText = queryString
  29.             dbCommand.Connection = dbConnection
  30.    
  31.             Dim dbParam_userName As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
  32.             dbParam_userName.ParameterName = "@UserName"
  33.             dbParam_userName.Value = userName
  34.             dbParam_userName.DbType = System.Data.DbType.String
  35.             dbCommand.Parameters.Add(dbParam_userName)
  36.             Dim dbParam_userPassword As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
  37.             dbParam_userPassword.ParameterName = "@UserPassword"
  38.             dbParam_userPassword.Value = userPassword
  39.             dbParam_userPassword.DbType = System.Data.DbType.String
  40.             dbCommand.Parameters.Add(dbParam_userPassword)
  41.    
  42.             Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
  43.             dataAdapter.SelectCommand = dbCommand
  44.             Dim dataSet As System.Data.DataSet = New System.Data.DataSet
  45.             dataAdapter.Fill(dataSet)
  46.    
  47.             Return dataSet
  48.         End Function
  49.  
  50. </script>
  51. <html>
  52. <head>
  53. </head>
  54. <body style="FONT-FAMILY: arial">
  55.     <form runat="server">
  56.         <h2>Login Page
  57.         </h2>
  58.         <hr size="1" />
  59.         <table>
  60.             <tbody>
  61.                 <tr>
  62.                     <td>
  63.                         Username:</td>
  64.                     <td>
  65.                         <asp:TextBox id="UserName" runat="server"></asp:TextBox>
  66.                     </td>
  67.                     <td>
  68.                         <asp:RequiredFieldValidator id="Requiredfieldvalidator1" runat="server" ControlToValidate="UserName" Display="Static" ErrorMessage="*"></asp:RequiredFieldValidator>
  69.                     </td>
  70.                 </tr>
  71.                 <tr>
  72.                     <td>
  73.                         Password:</td>
  74.                     <td>
  75.                         <asp:TextBox id="UserPass" runat="server" TextMode="Password"></asp:TextBox>
  76.                     </td>
  77.                     <td>
  78.                         <asp:RequiredFieldValidator id="Requiredfieldvalidator2" runat="server" ControlToValidate="UserPass" Display="Static" ErrorMessage="*"></asp:RequiredFieldValidator>
  79.                     </td>
  80.                 </tr>
  81.             </tbody>
  82.         </table>
  83.         <asp:button id="LoginBtn" onclick="LoginBtn_Click" runat="server" text="Login"></asp:button>
  84.         <p>
  85.             <asp:Label id="Msg" runat="server" forecolor="red"></asp:Label>
  86.         </p>
  87.     </form>
  88. </body>
  89. </html>
  90.  
  91.  

Espero te sirva
 :hola:
Bye
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Consulta Sql
« Respuesta #2 en: Viernes 8 de Abril de 2005, 19:09 »
0
Hola Kev muchas gracias por ayudarme, ya he probado el codigo pero me sigue mandando un error, te anexo el error para ver si me puedes ayudar.

saludos..

Citar
Error de servidor en la aplicación '/consulta1'.
--------------------------------------------------------------------------------

No se puede abrir la base de datos solicitada en el inicio de sesión 'orders'. Error de inicio de sesión. Error de inicio de sesión del usuario 'LAMDA\ASPNET'.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: No se puede abrir la base de datos solicitada en el inicio de sesión 'orders'. Error de inicio de sesión. Error de inicio de sesión del usuario 'LAMDA\ASPNET'.

Error de código fuente:


Línea 34: dataAdapter.SelectCommand = dbCommand
Línea 35: Dim dataSet As System.Data.DataSet = New System.Data.DataSet
Línea 36: dataAdapter.Fill(dataSet)         
Línea 37:  Return dataSet
Línea 38:    End Function
 

Archivo de origen: C:\Inetpub\wwwroot\consulta1\LoginSorgo.aspx    Línea: 36

Seguimiento de la pila:


[SqlException: No se puede abrir la base de datos solicitada en el inicio de sesión 'orders'. Error de inicio de sesión.
Error de inicio de sesión del usuario 'LAMDA\ASPNET'.]
   System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction)
   System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
   System.Data.SqlClient.SqlConnection.Open()
   System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
   System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   ASP.LoginSorgo_aspx.GetUser(String userName, String userPassword) in C:\Inetpub\wwwroot\consulta1\LoginSorgo.aspx:36
   ASP.LoginSorgo_aspx.LoginBtn_Click(Object Sender, EventArgs E) in C:\Inetpub\wwwroot\consulta1\LoginSorgo.aspx:6
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   System.Web.UI.Page.ProcessRequestMain()

 

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Consulta Sql
« Respuesta #3 en: Viernes 8 de Abril de 2005, 23:35 »
0
Verificaste la base de datos?? porque este es el ejemplo que trae consigo el Web Matrix..

Nota que el ejemplo esta usando una base de datos SqlServer, porque si fuera con Access la cadena de conexion seria otra.

Porque no intentas cambiar la cadena de conexion, pero esta vez usa un user y password

Código: Text
  1.  
  2.  "Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"
  3.  
  4.  

Suerte.
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Consulta Sql
« Respuesta #4 en: Lunes 11 de Abril de 2005, 00:03 »
0
Hola carlos_lue, lo que esta pasando es que cuando una página asp.net se carga usa el usuario ASPNET, pero ese usuario no lo reconoce SQL, entonces lo que puedes hacer son dos cosas, o agregar el usuario ASPNET a la base de datos, o ingresar del modo autentificacion sql, es decir con user id=sa, y password...

Ahora pruebalo nuevamente!


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Consulta Sql
« Respuesta #5 en: Lunes 11 de Abril de 2005, 15:52 »
0
Hola a todos:

Tarde un poco en probar la soluciòn de serghio
Citar
Hola carlos_lue, lo que esta pasando es que cuando una página asp.net se carga usa el usuario ASPNET, pero ese usuario no lo reconoce SQL, entonces lo que puedes hacer son dos cosas, o agregar el usuario ASPNET a la base de datos, o ingresar del modo autentificacion sql, es decir con user id=sa, y password...

pero efectivamente haì estaba la respuesta, solo tenia que brindarle mas permisos a la cuenta de ASPNET; por el momento la he librado, les agradesco la ayuda(kev, Serghio, etc.) y espero me puedan seguir ayudando. bueno gracias y asta la proxima.



saludos..... :comp: