Kalde metode fra en form til en anden
Hej eksperter.Jeg har en metode som skal køres i en anden form end den jeg befinder mig i. Altså jeg er i form1 og vil køre en metode i form 2. Den motode i form2 skal skrive noget i en label som befinder sig i form 2. Jeg har prøvet følgende:
Form1:
private void Ok_Click(object sender, EventArgs e)
{
// Kalder metoden dbConnect().
dbConnect();
//Tjekker om brugernavnet indtastet og den tilhørende adgangskode er korrekt ifølge DB.
if (tbPassword.Text == attrPassword)
{
user = tbBrugernavn.Text;
dbConnect();
revision r = new revision();
r.db(user);
MessageBox.Show("OK");
}
else
{
MessageBox.Show("Brugernavn eller password er ikke korrekt", "Fejl", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbBrugernavn.Focus();
}
}
Metode i form2:
public void db(string user)
{
string user1 = user;
//SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog = dbo.test;Integrated Security=True;User Instance=True");
SqlConnection con = new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=test");
try
{
SqlCommand cmd = new SqlCommand("SELECT * FROM brugerPass WHERE brugernavn = '" + user1 + "'", con);
//SqlCommand cmd = new SqlCommand("UPDATE brugerPass SET online ='ja' WHERE brugernavn ='" + user + "'", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
string attrBrugernavn = rdr["brugernavn"].ToString();
label2.Text = "Du er logget ind som: " + attrBrugernavn;
}
}
catch (Exception er)
{
MessageBox.Show("Fejl : " + er.Message);
}
finally
{
if (con != null)
{
con.Close();
}
}
}
Problemet er at den ikke skriver noget i label2. Men programmet kører fint. Det jeg måske tror, er at man skal på en måde updatere formen eller noget i den retning????
Mvh
Martin
