TeisL Skrevet 12. april 2010 Del Skrevet 12. april 2010 Hei, Nå sitter jeg bra fast. Når jeg lager en loginside til prosjektet jeg driver med nå, så får jeg ikke den til å fungere. private bool DBConnection(string txtUser, string txtPass) { txtPass = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass, "SHA1"); string connString = ConfigurationSettings.AppSettings["ConnectionString"]; MySqlConnection connection = new MySqlConnection(connString); connection.Open(); MySqlCommand cmdUser = new MySqlCommand("checkuser", connection); cmdUser.Parameters.Add(new MySqlParameter("uname", MySql.Data.MySqlClient.MySqlDbType.VarChar,20)); cmdUser.Parameters.Add(new MySqlParameter("pass", MySql.Data.MySqlClient.MySqlDbType.VarChar,40)); cmdUser.Parameters[0].Value = txtPass; cmdUser.Parameters[1].Value = txtPass; MySqlParameter ReturnValue = cmdUser.Parameters.Add("ReturnValue", MySqlDbType.Int16,1); ReturnValue.Direction = ParameterDirection.Output; ReturnValue.Value = 0; cmdUser.ExecuteScalar(); ReturnValue.Value = cmdUser.Parameters["ReturnValue"].Value; if ((int)ReturnValue.Value < 1) { lblMessageLogin.Text = "Invalid login"; return false; } else { connection.Close(); return true; } } Dette er funksjonen som skal sjekke loginen. Her så stopper den på ExecuteScalar() funksjonen og sier at jeg har syntax feil i Store Procedure. "Near `checklogin`" som den sier. CREATE DEFINER=`mobil`@`%` PROCEDURE `checkuser`(uname varchar(20), pass varchar(40), OUT ReturnValue int) BEGIN Declare ReturnValue int; set ReturnValue = 0; set ReturnValue = (SELECT COUNT(*) FROM `mobil`.`user` WHERE `username` like uname AND `mobil`.`password` like pass); END Her er lagringsprossedyren og denne er laget fra Query Browseren til mysql. Noen som vet hva som kan være feil?? Lenke til kommentar
Gråskjegg Skrevet 25. april 2010 Del Skrevet 25. april 2010 CREATE DEFINER=`mobil`@`%` PROCEDURE `checkuser`(uname varchar(20), pass varchar(40), OUT ReturnValue int) BEGIN Declare ReturnValue int; set ReturnValue = 0; set ReturnValue = (SELECT COUNT(*) FROM `mobil`.`user` WHERE `username` like uname AND `mobil`.`password` like pass); END Noen som vet hva som kan være feil?? Nå vet jeg ikke foran og bak på MySql, men jeg ser at det er forskjell på måten du aksesserer kolonnene på - 'mobil'.xxx eller bare xxx. Kan det være feilen? - grå - Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå