Avatar billede simsen Mester
22. juli 2006 - 19:42 Der er 1 kommentar og
1 løsning

Update gemmer ikke i databasen

Hej - det er helt sikkert jeg overser et eller andet, jeg kan bare ikke få
øje på hvad....

Jeg henter data over i ny form - laver mine ændringer der, og trykker på
form2's gem knap - den opdaterer korrekt datagridview'et - men gemmer intet
i databasen.

Kan I se på følgende hvorfor, den ikke opdaterer databasen?

private DataViewManager dsView;

private DataSet ds;

private OleDbDataAdapter da1;

private OleDbDataAdapter da2;

private OleDbCommandBuilder cBuilderKunder;

private OleDbCommandBuilder cBuilderFaktura;


string myDB = "c:\\ANSI\\Fakturasystem.mdb";



private void btnRetKunde_Click(object sender, EventArgs e)

{

// Find den aktuelle row der er selected når der dobbeltklikkes.

CurrencyManager cm = this.BindingContext[dgrKunder.DataSource,
dgrKunder.DataMember] as CurrencyManager;

if (cm != null)

{

DataRowView rowView = cm.Current as DataRowView;

if (rowView != null)

{

// Nu har vi row'en der skal editeres.

// Og vi starter din edit form op.

using (RetKunde ef = new RetKunde())

{

// Initialiserer din edit forms tekstfelter

// til de eksisterende data.

ef.Navn = rowView["Navn"].ToString();

ef.Adresse = rowView["Adresse"].ToString();

ef.Postnr = rowView["Postnr"].ToString();

ef.Byen = rowView["Byen"].ToString();

ef.Telefonnr = rowView["Telefonnr"].ToString();

ef.Mobilnr = rowView["Mobilnr"].ToString();

ef.EmailAdr = rowView["EmailAdr"].ToString();

ef.Noter = rowView["Noter"].ToString();

// Vi viser formen som en dialog, og tester hvilken knap brugeren har
trykket på vha. DialogResult.

if (ef.ShowDialog() == DialogResult.OK)

{


// Hvis brugeren trykkede på OK sætter vi værdierne i Row'en til de værdier
brugeren har tastet ind.

rowView["Navn"] = ef.Navn;

rowView["Adresse"] = ef.Adresse;

rowView["Postnr"] = ef.Postnr;

rowView["Byen"] = ef.Byen;

rowView["Telefonnr"] = ef.Telefonnr;

rowView["Mobilnr"] = ef.Mobilnr;

rowView["EmailAdr"] = ef.EmailAdr;

rowView["Noter"] = ef.Noter;

//opdaterer Adapteren

builderOpbygning();

da1.Update(ds);

}

}

}

}

}



private void builderOpbygning()

{

cBuilderKunder = new OleDbCommandBuilder(da1);

cBuilderFaktura = new OleDbCommandBuilder(da2);


da1.UpdateCommand = cBuilderKunder.GetUpdateCommand();

da1.DeleteCommand = cBuilderKunder.GetDeleteCommand();


da2.UpdateCommand = cBuilderFaktura.GetUpdateCommand();

}
Avatar billede simsen Mester
23. juli 2006 - 16:46 #1
Jeg er kommet udover ovennævnte, ved at gemme direkte i databasen, istedet for at bruge update. Og ja jeg ved godt, det ikke er det bedste at gøre :-/
Avatar billede segato Nybegynder
25. juli 2006 - 08:11 #2
AcceptChanges. Den mangler du.
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