jag försöker göra en inloggning, jag har följande kod.Inloggningen vill inte fungera.
<code>
protected void btnLogIn_Click(object sender, EventArgs e)
{
// Get the result from the texboxes and place them in variables...
string x = Request.Form["txtPassword"];
string y = Request.Form["txtUserName"];
db myDb = new db();
dsUser = myDb.logIn(y, x); // Invokes the db class and gets the result...
if (dsUser == null) // If the user does'nt exist...
{
lblError.Text = "Du har angett ett felaktigt användarnamn/lösenord!";
Session["custID"] = 0;
}
else // If the user exists...
{
Session["custID"] = dsUser.Tables["customerID"];
Session["custName"] = dsUser.Tables["fName"] + ", " + dsUser.Tables["lName"];
Server.Transfer("index.aspx");
}
}
</code>
Min klass ser ut så här.
<code>
public DataSet logIn(string _user, string _pass)
{
string user = _user;
string pass = _pass;
DataSet dsUser = new DataSet();
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("logMeIn", con);
cmd.CommandType = CommandType.StoredProcedure;
// Makes parameters for the SP...
cmd.Parameters.Add(new SqlParameter("@pass", SqlDbType.VarChar, 10));
cmd.Parameters["@pass"].Value = pass;
cmd.Parameters.Add(new SqlParameter("@user", SqlDbType.VarChar, 10));
cmd.Parameters["@user"].Value = user;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd);
try
{
sqlDataAdapter.Fill(dsUser);
}
catch { }
finally
{
con.close();
}
return dsUser;
}
</code>
Den lagrade proceduren så här
<code>
ALTER PROCEDURE [dbo].[logMeIn]
-- Declares variables...
@pass varchar(10),
@user varchar(10)
AS
-- Checks if the user exists...
IF(EXISTS(SELECT customerID FROM customer WHERE password = @pass AND userName = @user))
BEGIN
SELECT * FROM customer WHERE password = @pass AND userName = @user
END
</code>
Det som blir fel är att jag skickas till index.aspx vad jag än skriver in och jag blir inte inloggad även om jag skriver in rätt uppgifter. Den lagrade proceduren fungerar när jag kör den i MSSQL-Server.