2012-04-13 9 views
0

Ich habe ein Problem, wenn ich mich anmelde der Fehler aufgetreten ist, dass kein Wert für einen oder mehrere erforderliche Parameter angegeben.Kein Wert für einen oder mehrere erforderliche Parameter angegeben.()

protected void imgbtn_login_Click(object sender, ImageClickEventArgs e) 
{ 
    int UserId = 0; 
    string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pathto.mdb;Persist Security Info=False;"); 
    OleDbConnection conn = new OleDbConnection(str); 
    conn.Open(); 
    string query = "select * from Users where LoginName='" + txt_logname.Text + "' and Password='" + txt_pass.Text + "';"; 
    OleDbDataAdapter da=new OleDbDataAdapter(query,conn); 
    DataSet ds = new DataSet(); 

    da.Fill(ds); 
    DataTable dt = new DataTable(); 

    dt = ds.Tables[0]; 
    try 
    { 
     UserId = Int32.Parse(dt.Rows[0]["UserId"].ToString()); 

     //btn_LogIn.Text = "Login Succeded"; 
     Response.Redirect("Register.aspx"); 
    } 
    catch (Exception ex) 
    { 

    } 
    txt_logname.Text = " "; 
    txt_pass.Text = ""; 
} 
+4

Leere catch-Blöcke sind böse. Vermeide sie. – Oded

+2

Das Verketten von SQL in der Art und Weise, wie Sie es tun, ist offen für [SQL-Injektion] (http://en.wikipedia.org/wiki/SQL_injection) - vermeiden Sie dies und verwenden Sie parametrisierte Abfragen. – Oded

+0

Bitte geben Sie an, wo in Ihrem Code der Fehler auftritt. Ich glaube nicht, dass der Code, den Sie gepostet haben, etwas damit zu tun hat. – Oded

Antwort

Verwandte Themen