2016-04-19 1 views
-1

私はasp.netのC#のログインシステムに取り組んでいます。次のエラーが表示され続けます。リーダーエラーを実行する

An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code.

私が間違っていることはわかりません。あなたは、データベースを設定する必要が

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


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

} 


protected void Login_Click(object sender, EventArgs e)//P.N 
{ 
    SqlConnection conn = new SqlConnection("Data Source=(local)\\SQLEXPRESS;Integrated Security=True");//P.N 
    SqlCommand cmd = new SqlCommand();//P.N 
    cmd.Connection = conn;//P.N 


    cmd.CommandText = "SELECT Usernames,Passwords FROM logininfo WHERE [email protected]rname AND [email protected]";//P.N 
    cmd.Parameters.AddWithValue("@username", UsernameInput.Text);//P.N 
    cmd.Parameters.AddWithValue("@password", PasswordInput.Text);//P.N 

    conn.Open();//P.N 

    SqlDataReader reader = cmd.ExecuteReader();//P.N //!!! Error is HERE!! 
    string userName = "";//P.N 
    string userPass = "";//P.N 
    UsernameInput.Text = userName;//P.N 
    PasswordInput.Text = userPass;//P.N 
    while (reader.Read())//P.N 
    { 
     userName = reader["Usernames"].ToString();//P.N 
     userPass = reader["Passwords"].ToString();//P.N 
    } 


    if (userName != "" && userPass != "")//P.N 
    { 
     Response.Write("Login Successfull");//P.N 
     Session["name"] = userName; 
     Response.Redirect("Home.aspx");//P.N 
    } 
    else { 
     Error.Text = "Incorrect username/password";//P.N 
    } 

} 

}

+3

例外は何ですか?あなたのSQLには何が間違っていますか? SSMSを使用してサーバー自体で実行しようとしましたか? –

+1

例外内にさらに多くのエラー情報があるはずですが、接続文字列内の最初のカタログとしてデータベースを指定していないため、 'logininfo'テーブルがユーザのデフォルトデータベースにない可能性がありますか?あなたの質問には関係ありませんが、 'IDisposable'オブジェクト(SqlConnection、SqlCommand、SqlDataReader)が正しく処分されるように' using'ブロックを使い始めるべきです。 – GarethD

+0

@GarethD私はこのエラーがテーブルに関するものではないと確信しています – Steve

答えて

3

。接続文字列は次のようになります

"Data Source=(local)\\SQLEXPRESS;Initial Catalog=DataBaseName;Integrated Security=True" 
関連する問題