Foros del Web » Programación para mayores de 30 ;) » .NET »

Execute reader en C#

Estas en el tema de Execute reader en C# en el foro de .NET en Foros del Web. Resulta que estoy haciendo un formulario de validacion de entrada con nombre de usuario, el cual usa el email, y la contraseña. Pero me sale ...
  #1 (permalink)  
Antiguo 10/10/2010, 10:45
 
Fecha de Ingreso: octubre-2010
Ubicación: Bucaramanga
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Execute reader en C#

Resulta que estoy haciendo un formulario de validacion de entrada con nombre de usuario, el cual usa el email, y la contraseña. Pero me sale el error de que en el Excecutereader.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='[email protected]' and contrasena='123'' at line 1

Este error en tiempo de ejecucion.

Aqui esta el codigo completo.

Espero alguein me pueda ayudar


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Data.Sql;
using System.Data.SqlClient;


namespace prueba
{



public partial class frmlogin : Form
{
MySqlConnection cn;
string str;
MySqlCommand command;
MySqlDataReader dr;
string usu;
int filas;


public frmlogin()
{
InitializeComponent();
}

private void btnLogin_Click(object sender, EventArgs e)
{
if (verificaUsuario(this.txtUsuario.Text, this.txtContra.Text))
{
if (filas ==1)
{
MessageBox.Show("Bienvenido " + usu + " ","Acceso al sistema", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
}
else
{
MessageBox.Show("Datos incorrectos","Acceso al sistema",MessageBoxButtons.OK,MessageBoxIcon.Error ,MessageBoxDefaultButton.Button1);
}
}

}

private bool verificaUsuario(string usuario, string pass)
{
string myUser = usuario.Trim();

str = ("Server=localhost;Database=socrates;User id=root;Password=12345");
cn = new MySqlConnection();
cn.ConnectionString = str;
System.Text.StringBuilder sel = new System.Text.StringBuilder();
sel.Append("Select *from usuario");
sel.Append("where email_usuario=@USUARIO and contrasena=@PASS");
command = new MySqlCommand(sel.ToString(), cn);
command.Parameters.Add("@USUARIO", MySqlDbType.VarChar, 50);
command.Parameters.Add("@PASS", MySqlDbType.VarChar, 50);
command.Parameters["@USUARIO"].Value = myUser;
command.Parameters["@PASS"].Value = pass;
cn.Open();
dr = command.ExecuteReader();
filas = Convert.ToInt32(dr.HasRows); //obtiene las filas de la consulta
if (dr.Read())
{
usu = Convert.ToString(dr[1]);
}
cn.Close();
dr.Close();
return true;
}

private void frmlogin_Load(object sender, EventArgs e)
{

}
}
}
  #2 (permalink)  
Antiguo 11/10/2010, 07:55
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 11 meses
Puntos: 22
Respuesta: Execute reader en C#

Ponle un espacio al final de sel.Append("Select *from usuario"); para que te quede asi sel.Append("Select *from usuario ");

Saludos

Etiquetas: execute, reader
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 17:59.