Login med MS Access og char tjek
Vi sidder og roder med et program til et skole projekt. Vi har lige nu problemer med at få logind skærmen til at fungere som vi ønsker, nemlig at der skal være mulighed for at logge på med forskellige brugere der så får forskellige rettigheder inde i selve programmet. Kodeordet og bruger ønsker tjekket ved hjælp af en MS access database.Vores nuværende kode ser ud som følger
[quote]
private void Btnlogindlogind_Click(object sender, System.EventArgs e)
{
string Brugernavn = TxtboxLogIndBrugernavn.Text;
string Kodeord;
if (TxtboxLogIndBrugernavn.Text != "" && TjekInputForNummer(TxtboxLogIndBrugernavn.Text) == true)
{
string sql = "select * from Ansatte where MedarbejderId = " + TxtboxLogIndBrugernavn.Text;
OleDbCommand kommando = new OleDbCommand(sql,oleDbConnection1);
oleDbConnection1.Open();
OleDbDataReader myReader = kommando.ExecuteReader();
if (myReader.HasRows)
{
while (myReader.Read())
{
Kodeord = myReader.GetString(11);
}
}
else
{
MessageBox.Show("Brugernavn findes ikke");
}
if (Kodeord == TxtboxLogIndPassword.Text)
{
//Laver ny instans af Ekspedient
Ekspedient Eks = new Ekspedient();
//Definere Logind som ejer ("moder") til Ekspedient
Eks.Owner = this;
//Viser Ekspedient
Eks.Show();
//Skjuler Logind
this.Visible = false;
}
else
{MessageBox.Show("Kodeord er ikke korrekt");}
myReader.Close();
oleDbConnection1.Close();
}
else
{MessageBox.Show("Kodeord er ikke korrekt");}
}
private bool TjekInputForNummer(string tekst) //Betyder at den skal kaldes med en værdi af typen "string"
{
//En variabel der gemmer længden af den tekst-streng der skal undersøges
int length = tekst.Length;
// I er en simpel tæller-var.
int i;
//Løkken skal køre fra 0, til den længde tekststrengen har
//Derved løber den igennem alle tal/bogstaver i strengen og tjekker deres værdi
for (i=0;i<length;i=i+1)
{
// Hvis funktionen Char.IsNumber (indbygget funktion) returnere falsk for bare EN af
// tallene/bogstaverne i stregen skal hele funktionen returnere falsk
if (Char.IsNumber(tekst[i]) == false)
{
return false;
}
}
//Hvis strengen er OK (Dvs. ingen bogstaver eller lign.) skal funktionen returnere true
//Da der så er tale om en tal-streng
return true;
}
[/quote]
