Avatar billede skillzor Nybegynder
02. september 2008 - 13:21 Der er 4 kommentarer og
1 løsning

Sqldataadapter update

Hej eksperter,

Jeg har et problem når jeg prøver at opdatere nogle ændringer i et dataset, jeg får en fejl hvor den siger at den kræver en gyldig update kommando, men jeg ved ikke helt hvordan man skal specificere den.
Håber i kan hjælpe, jeg ved at værdierne bliver hentet, og de nye værdier bliver sat i løkken, så det er kun når den skal opdatere der er et problem.
Her er koden:

Kurs[] aktier = HentAktieKurser();

                con = DbConnection.GetInstance;
               
                SqlCommand cmd = new SqlCommand("SELECT Navn,Kurs FROM Aktie", con);
           

                con.Open();
           

                SqlDataAdapter adapter = new SqlDataAdapter(cmd);   
                DataSet ds = new DataSet();
                adapter.Fill(ds);
               
                DataTable dt = ds.Tables[0];
               
       
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        for (int j = 0; j < aktier.Length; j++)
                        {
                            if (aktier[j].navn.Equals(dt.Rows[0][i]))
                            {
                                dt.Rows[0][i+1] = aktier[j].vaerdi;
                            }
                        }
                    }

           
                adapter.Update(ds);
Avatar billede aaberg Nybegynder
02. september 2008 - 13:31 #1
prøv:

Kurs[] aktier = HentAktieKurser();

                con = DbConnection.GetInstance;
             
                SqlCommand cmd = new SqlCommand("SELECT Navn,Kurs FROM Aktie", con);
         

                con.Open();
         

                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
 
                DataSet ds = new DataSet();
                adapter.Fill(ds);
             
                DataTable dt = ds.Tables[0];
             
     
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        for (int j = 0; j < aktier.Length; j++)
                        {
                            if (aktier[j].navn.Equals(dt.Rows[0][i]))
                            {
                                dt.Rows[0][i+1] = aktier[j].vaerdi;
                            }
                        }
                    }

                builder.GetUpdateCommand();

         
                adapter.Update(ds, "Aktie");
Avatar billede skillzor Nybegynder
03. september 2008 - 09:32 #2
Jeg har prøvet det du skrev Aaberg, og den er kommet lidt videre. Nu skriver den at "Update kan ikke finde TableMapping['Aktie'] eller DataTable 'Aktie'
Hvad skal jeg gøre for at løse det?
Avatar billede aaberg Nybegynder
03. september 2008 - 10:14 #3
Bare fjern "Aktie" fra den sidste linje, se om det hjælper. Så den kommer til at se sådan ud:

adapter.Update(ds);
Avatar billede skillzor Nybegynder
03. september 2008 - 12:44 #4
Det fungerer nu.
Mange tak for hjælpen aaberg, du må gerne ligge et svar :)
Avatar billede aaberg Nybegynder
03. september 2008 - 13:30 #5
svar :-)
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