C sharp - error en codigo

 
Vista:

error en codigo

Publicado por erick (9 intervenciones) el 08/02/2011 16:53:51
private void BtnAceptar_Click(object sender, EventArgs e)
{
SqlConnection Conn = new SqlConnection();

Conn.ConnectionString = @"Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\prueba.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

Conn.Open(); ----> el error me aparece aqui ... una execepcion de evento del systema

System.Text.StringBuilder sel = new System.Text.StringBuilder();

sel.Append("SELECT COUNT(*) FROM [usuarios]");
sel.Append("WHERE nombre = @usuario and clave = @clave");

SqlCommand cmd = new SqlCommand(sel.ToString(),Conn);

cmd.Parameters.Add("@usuario",SqlDbType.NVarChar,50);
cmd.Parameters.Add("@clave",SqlDbType.NVarChar,40);

cmd.Parameters["@usuario"].Value = textBox1.Text;
cmd.Parameters["@clave"].Value = textBox2.Text;

int t = Convert.ToInt32(cmd.ExecuteScalar());

Conn.Close();

if(t == 1)
{
Form2 ventana2 = new Form2();
ventana2.Show();
this.Hide();
}else
{
MessageBox.Show("usuario no tiene permiso de acceso");
}

}

private void btnSalir_Click_1(object sender, EventArgs e)
{
this.Close();
}

verifiquen codigo si me puede ayudar gracias , es para confirmar si el usuario esta en la base de datos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error en codigo

Publicado por Sebastian Cruz (51 intervenciones) el 10/02/2011 13:31:59
Para mi que esta mal la cadena de conexion

Conn.ConnectionString = @"Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\prueba.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

ya que el @ indica que no tome al caracter \ como simbolo de escape y por lo tanto esta tratando de buscar tu base de datos en una carpeta que se llame \ y que adentro tenga el archivos de la BD y algo parecido tambien pasa con el data source ya que no sabe de que origen buscar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en codigo

Publicado por ya lo solucione (9 intervenciones) el 12/02/2011 00:35:07
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 System.Data.Sql;
using System.Data.SqlClient;

namespace Log_ProbandoConStoredProcedure_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}

private void btnEnter_Click(object sender, EventArgs e)
{
string conexion;

conexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\prueba.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

SqlConnection cnn = new SqlConnection(conexion);

cnn.Open();

SqlCommand cmd = new SqlCommand("cp_verifica",cnn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("@nombre", SqlDbType.NVarChar, 50));

cmd.Parameters.Add(new SqlParameter("@clave", SqlDbType.NVarChar, 40));

cmd.Parameters["@nombre"].Value = Nombre; ----> esto es un textbox por lo cual debe ir Nombre.text
cmd.Parameters["@clave"].Value = Clave; ----> lo mismo aqui. Clave.text


int respuesta;

respuesta = Convert.ToInt32(cmd.ExecuteReader());
cnn.Close() --- otro error aqui ... por que no estaba cerrada la conexion.

buenas por si a alguien le interesa .
encontra la solucion puyando

if(respuesta == 1)
{
MessageBox.Show("esta logueado");
}else{
MessageBox.Show("No estas conectado");

}

// cnn.Close(); aqui esto no va ....

}
}
}
y si alguien le interesa aqui esta el

procedimento almacenado

create procedure cp_verifica

select count(*) from usurios where nombre = @nombre and clave = @clave;

luego si desea saber que el procedimiento le que do bien vaya a una consulta y haga esto

cp_verifica 'nombredeusuario','clavedeusuario'; -----> para saber que el procedimiento esta bien .. cuidense y gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en codigo

Publicado por ya lo solucione (9 intervenciones) el 12/02/2011 00:35:13
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 System.Data.Sql;
using System.Data.SqlClient;

namespace Log_ProbandoConStoredProcedure_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}

private void btnEnter_Click(object sender, EventArgs e)
{
string conexion;

conexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\prueba.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

SqlConnection cnn = new SqlConnection(conexion);

cnn.Open();

SqlCommand cmd = new SqlCommand("cp_verifica",cnn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("@nombre", SqlDbType.NVarChar, 50));

cmd.Parameters.Add(new SqlParameter("@clave", SqlDbType.NVarChar, 40));

cmd.Parameters["@nombre"].Value = Nombre; ----> esto es un textbox por lo cual debe ir Nombre.text
cmd.Parameters["@clave"].Value = Clave; ----> lo mismo aqui. Clave.text


int respuesta;

respuesta = Convert.ToInt32(cmd.ExecuteReader());
cnn.Close() --- otro error aqui ... por que no estaba cerrada la conexion.

buenas por si a alguien le interesa .
encontra la solucion puyando

if(respuesta == 1)
{
MessageBox.Show("esta logueado");
}else{
MessageBox.Show("No estas conectado");

}

// cnn.Close(); aqui esto no va ....

}
}
}
y si alguien le interesa aqui esta el

procedimento almacenado

create procedure cp_verifica

select count(*) from usurios where nombre = @nombre and clave = @clave;

luego si desea saber que el procedimiento le que do bien vaya a una consulta y haga esto

cp_verifica 'nombredeusuario','clavedeusuario'; -----> para saber que el procedimiento esta bien .. cuidense y gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar