![]() |
error funcion login usuario en c# con SQL server
holaa... el problema que tengo es con la funcion de verificar usuario que les paso a continuacion, esta recibe como parametros un nombre y password y los verifica si existe en la tabla USUARIO que se encuentra en una base de datos realizada en sql server 2005
esta es la funcion: public bool verificarUsuar io(string nombre, string pass) { SqlConnection cnn = new SqlConnection(); cnn.Connection String = "Server=.\\SQLEXPRESS; database='C:\\Archivos de programa\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\MesaAyuda.mdf';Integ rated Security=True;User Instance=True"; cnn.Open(); System.Text.St ringBuilder sel = new System.Text.St ringBuilder(); sel.Append("SELECT COUNT(*) FROM USUARIO"); sel.Append("WHERE NombreUsuario = @Nombre AND Password = @Clave"); SqlCommand cmd = new SqlCommand(sel.ToString(), cnn); cmd.Parameters .Add("@Nombre",SqlDbType.NVarChar,5) ; cmd.Parameters .Add("@Clave", SqlDbType.NVar Char,10); cmd.Parameters["@Nombre"].Value = nombre; cmd.Parameters["@Clave"].Value = pass; int t = Convert.ToInt3 2(cmd.ExecuteSca lar()); cnn.Close(); if (t == 0) return false; else return true; } devuelve true o false depende de si encontro algun registro que coincida con los datos ingresados...p ero al ejecutarla me lanza el siguiente error: Sintaxis incorrecta cerca de '='. y marca con amarillo la linea: int t = Convert.ToInt3 2(cmd.ExecuteSca lar()); la verdad ya he leido varios post que hay en este foro y la mayoria lo hacen de esta forma pero no encontre ninguno que tuviera este problema. si por favor me pueden ayudar les agradeceria mucho. gracias Ariel |
bueno ariel creo que el error esta en la forma en como estas mandando el texto de la consulta sql
en la forma como lo estas concatenando queda asi
entonces te sugiero pongas un espacio para separar el texto de la consulta entre usuario y where y que quede asi ademas de que no esta de mas darle un alias al resultado d ela consulta
y una recomendacion coloca entre etiquetas tu codigo para que pueda ser mas legible hasta pronto |
Hola
No estoy seguro pero creo que el APPEND hace que cada texto quede en una linea separada.
A mi la otra vez me dieron problemas los parámetros (@algo), veo que en tu código se podría hacer algo así: public bool verificarUsuar io(string nombre, string pass) { SqlConnection cnn = new SqlConnection(); cnn.Connection String = "Server=.\\SQLEXPRESS; database='C:\\Archivos de programa\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\MesaAyuda.mdf';Integ rated Security=True;User Instance=True"; cnn.Open(); System.Text.St ringBuilder sel = new System.Text.StringBuilder(); sel.Append("SELECT COUNT(*) FROM USUARIO"); sel.Append("WHERE NombreUsuario = " + nombre + " AND Password = " + pass); SqlCommand cmd = new SqlCommand(sel.ToString(), cnn); int t = Convert.ToInt32(cmd.ExecuteScalar()); cnn.Close(); if (t == 0) return false; else return true; } Saludos y suerte. :) |
La franja horaria es GMT +2. Ahora son las 07:14:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi