2015-05-17 3 views
0

проверить имя пользователя и пароль на странице входа, используя asp.net с SQL-сервером. Но проблема в том, что, когда я ввести правильные данные ..go на страницу ошибки, не идти на WELCOM странице ..Сервер Asp.net и Sql

using System; 
    using System.Data; 
    using System.Linq; 
    using System.Web; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 
    using System.Collections.Generic; 
    using System.Data.SqlClient; 
    using System.Configuration; 

    namespace WebApplication21 

    { 
     public partial class WebForm1 : System.Web.UI.Page 
     { 
      protected void Page_Load(object sender, EventArgs e) 
      { 

      } 
      protected void Button1_Click(object sender, EventArgs e) 
      { 

      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString); 
      con.Open(); 
     SqlCommand cmd = new SqlCommand("select * from 'user_insert' where username = @username and password = @password,con"); 
       cmd.Parameters.AddWithValue("@username", TextBox1.Text); 
       cmd.Parameters.AddWithValue("@password", TextBox2.Text); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 

      if (dt.Rows.Count > 0) 
      { 
       Response.Redirect("Welcom.aspx"); 
      } 
      else 
      { 
       Response.Redirect("Error.aspx"); 
      } 

    } 

И Строка подключения в web.config

<connectionStrings> 
<add name="dbconnection" connectionString="Data Source=Ali-PC;Initial Catalog=LogIn;Integrated Security=True"/> 
</connectionStrings> 
+0

Что вы установили cmd.CommandText в? Где вы определяете cmd? – akiller

+0

вы не устанавливаете команду для выполнения..sqlcommand cmd = new sqlcommand («выберите * из« вашей таблицы », где username = имя пользователя и пароль = @ пароль, con); – Sachu

+2

пароли с открытым текстом печальны. должны храниться хешированные и соленые. –

ответ

0

Вы отсутствует команду SQL для выполнения в своем коде вы выполняете

SqlDataAdapter da = new SqlDataAdapter(cmd); но не где вы назначить любую SQL команду CMD

попробовать как т его и проверить результат

 SqlCommand cmd = new SqlCommand 
    (@"select * from 'your table' where username = @username and password = @password",con); 
cmd.Parameters.AddWithValue("@username", TextBox1.Text); 
      cmd.Parameters.AddWithValue("@password", TextBox2.Text); 

      DataTable dt = new DataTable(); 
      dt.Load(cmd.ExecuteReader()); 
1

Выполнить запрос и вы получите результат в вашем использовании таблицы данных ниже код вместо твоего:

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString); 
con.Open(); 
SqlCommand cmd = new SqlCommand("select * from 'user_insert' where username = @username and password = @password,con"); 
cmd.Parameters.AddWithValue("@username", TextBox1.Text); 
cmd.Parameters.AddWithValue("@password", TextBox2.Text); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
DataTable dt = new DataTable(); 
dt.Load(cmd.ExecuteReader()); 
da.Fill(dt); 
Смежные вопросы