Gå til innhold

C#: [Løst]Kan noen se hvorfor jeg får unassigned local variabel?


Anbefalte innlegg

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
Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...