Datenbank update

flasherMX

Mitglied
Hallo, ich hab eien Access Datenbank in C# reingeladen. Ausgegeben wird diese in einem DataGrid. Die Tabelle ist auf Enable gestellt hab (sprich, ich kann Einträge in dieser Tabelle per hand ändern).
Die Frage:
Wie kann ich per Button-Klick meiner Datenbank nun mitteilen, dass sie die Änderungen in meiner Tabelle speichern soll?

Versucht hab ich es einfach mit diesem Code, aber net:

oleDbConnection1.Open();
oleDbDataAdapter1.Update(dataSet11);
oleDbConnection1.Close();

Hat jemand ne Ahnung wie ich die Updaten kann?

mfg flasherMX
 

Konstantin Gross

Erfahrenes Mitglied
Hallo,
das ist ganz einfach.

1. Du erstellst dir einen CurrencyManger:
private CurrencyManager cm; //Das tust du in das Public rein (z.B. public class Form1 : System.Windows.Forms.Form)

so muss jetzt die
public Form1()
{
InitializeComponent();
oleDbDataAdapter1.Fill(dataSet11);
cm = (CurrencyManager) this.BindingContext[dataSet11,"TABELLENEINTRAG"];
}

aussehen.

2. Du erstellst die Update Funktion:
Als Beispiel hier die Funktion aus meinem Programm.

private void b_update_Click(object sender, System.EventArgs e)
{
cm.EndCurrentEdit();
if(dataSet11.HasChanges())
{
try
{
int m = oleDbDataAdapter1.Update(dataSet11);
MessageBox.Show((m.ToString() + " Kunde(n) geändert"), "FuAV - Änderungen übernommen!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch(System.Exception ex)
{
MessageBox.Show(ex.Message, "FuAV - Fehler beim Update!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("Keine Änderungen vorhanden!", "FuAV - Keine Änderung", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

3. Wenn du auch einen neuen Eintrag machen möchtest geht das so:
private void b_neu_Click(object sender, System.EventArgs e)
{
cm.AddNew();
}

4. Und wenn löschen dann so:
private void b_löschen_Click(object sender, System.EventArgs e)
{
cm.RemoveAt(cm.Position);
}

Ich hoffe es hilft dir weiter wenn nicht melde dich einfach.
 

flasherMX

Mitglied
hammaharte hilfe, klasse, dank dir :) bestens...

Nur eine Funktion geht noch net :)

Erstmal möcht ich meine tabelle sortieren.
Ich hab dazu eine eigene form. Wie ich von der Form auf meinen Index zu greife (index = da, wo das datagrid ist und die tabelle angezigt wird) weiß ich, weiß nur nicht wie ich dem sage dasser mir die teile sortieren soll... Sortierkriterium stellt jeweils eine Spalte da, die ich eingebe.

mfg flasherMX
 

Konstantin Gross

Erfahrenes Mitglied
Original geschrieben von flasherMX
hammaharte hilfe, klasse, dank dir :) bestens...

Kein Problem man hilft gerne. :) Aber deine letzte Frage verstehe ich nicht ganz. Du willst also deine Einträge sortieren lassen (z.B. Alphabetisch) dann kannst du doch einfach die Spalte anklicken die sortiert werden soll :confused: Oder meinst du das anders?
 

flasherMX

Mitglied
rofl, wußt net dass das geht, wollte das scriptmässig erledigen *lach*
herrlich, dank dir nochmals von ganzen herzen :)

mfg flasherMX