Avatar billede vegaz Juniormester
17. januar 2013 - 00:14 Der er 1 kommentar og
1 løsning

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;
        }
Avatar billede vegaz Juniormester
17. januar 2013 - 23:55 #1
Nå lavede det på en anden måde
Avatar billede vegaz Juniormester
17. januar 2013 - 23:55 #2
point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester