Update virker ikke - får ingen fejl
Hej,Når jeg kører min update query får jeg ingen fejl men samtidig kan jeg se at der ikke bliver opdateret noget i min database.
Opdatering burde komme frem i mit datagrid lige efter jeg har opdateret, det gør det også når jeg tab'er mellem textboxene men lige så start jeg klikker "Update", så siger det at det er gemt men det er det ikke.
Jeg leger i C# WPF og bruger MS Access database.
private void btnUpdate_Click(object sender, RoutedEventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
string Fornavn = txtFornavn.Text;
string Efternavn = txtEfternavn.Text;
string Klubnavn = txtKlubnavn.Text;
int Disciplin = cboDisciplin.SelectedIndex + 1;
string Points = txtPoints.Text;
DataRowView drv = (DataRowView)listView1.SelectedItem;
string id = drv.Row[0].ToString();
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MedlemsDB.accdb");
con.Open();
OleDbCommand comm = new OleDbCommand("UPDATE Atletik set Fornavn=@Fornavn,Efternavn=@Efternavn,Klubnavn=@Klubnavn,Disciplin=@Disciplin,Points=@Points where No=@No", con);
comm.Parameters.AddWithValue("@Fornavn", OleDbType.VarChar).Value = txtFornavn.Text;
comm.Parameters.AddWithValue("@Efternavn", OleDbType.VarChar).Value = txtEfternavn.Text;
comm.Parameters.AddWithValue("@Klubnavn", OleDbType.VarChar).Value = txtKlubnavn.Text;
comm.Parameters.AddWithValue("@Disciplin", OleDbType.VarChar).Value = cboDisciplin.SelectedIndex + 1;
comm.Parameters.AddWithValue("@Points", OleDbType.VarChar).Value = txtPoints.Text;
comm.Parameters.AddWithValue("@No", id);
comm.ExecuteNonQuery();
con.Close();
MessageBox.Show("Data er blevet opdateret!");
ShowData();
}
}
Til lidt bonus info:
public void ShowData() // Constructor
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MedlemsDB.accdb");
con.Open();
OleDbCommand comm = new OleDbCommand("Select * from Atletik", con);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(comm);
da.Fill(ds);
listView1.ItemsSource = ds.Tables[0].DefaultView;
}