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();
}
