TeisL Skrevet 14. oktober 2009 Del Skrevet 14. oktober 2009 Hei, jeg får feilmeldingen unassigned local variabel på Reader varialbelen inne i if-klausulen. string ConString = "SERVER=xxx;" + "DATABASE=xxx;" + "UID=xxx;" + "PASSWORD=xxx"; MySqlConnection connection = new MySqlConnection(ConString); MySqlCommand command = connection.CreateCommand(); MySqlDataReader Reader; command.CommandText = "SELECT `*` FROM `user` WHERE `username`=" + txtUsername.Text + " AND `password`=" + pass.HashString(txtPassword.Text); connection.Open(); try { Reader = command.ExecuteReader(); } catch (Exception) { } if (Reader.HasRows) { Application.Run(new welcome()); connection.Close(); } Takker på forhånd for svar. Lenke til kommentar
GeirGrusom Skrevet 14. oktober 2009 Del Skrevet 14. oktober 2009 Fordi du kan få exception i try blokken, så er det ingen selvfølge at Reader er satt når den kommer til if setningen. Flytt den inn i try, og det burde funke. Lenke til kommentar
BlueEAGLE Skrevet 14. oktober 2009 Del Skrevet 14. oktober 2009 Try-catch-blokken din er ubrukelig da den ikke tar affære hvis et unntak skulle oppstå. Det riktige å gjøre her er å behandle eventuelt unntak og returnere noe brukervennlig til til funksjonen som forsøker å lese databasen. Nå er ikke jeg noen ekspert på C#, men skal ikke Reader bli instansiert noe sted? MySqlDataReader Reader = new MySqlDataReader(); Da vil iallfall Reader være en gyldig MySqlDataReader selv om command.ExecuteReader() ikke returnerer et MySqlDataReader-objekt. Lenke til kommentar
TeisL Skrevet 15. oktober 2009 Forfatter Del Skrevet 15. oktober 2009 Takk for svar. 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å