dringend hilfe bei update eines datagridview

exiter28

Erfahrenes Mitglied
hallo,

leider komme ich einfach nicht weiter. Mein Problem:
ich möchte eine einfache DB (access) per datagridview lesen und updaten:

der Code der Form:

Code:
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;

namespace DataGridViewSaveTest
{
    public partial class Form1 : Form
    {
        private OleDbConnection connection;
        private OleDbDataAdapter dapersonen = null;
        private DataSet dspersonen = new DataSet();

        public Form1()
        {
            InitializeComponent();
            IniClass.CreateProgDirs();
            connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + IniClass.GetIniValue("btgbfrm"));
            dapersonen = new OleDbDataAdapter("select * from personen", connection);
            OleDbCommandBuilder cmdBldr = new OleDbCommandBuilder(dapersonen);

            dapersonen .Fill(dspersonen, "personen");
            dataGridView1.DataSource = dspersonen;
            dataGridView1.DataMember = "personen";
            foreach (DataGridViewColumn item in dataGridView1.Columns)
            {
                item.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            }
        }

        private void cbOK_Click(object sender, EventArgs e)
        {
            dapersonen.Update(dspersonen, "personen");
        }

    }
}

die DB besteht aus den Feldern: id (autowert), typ, vorname, nachname, firma, strasse, plz, ort, tel, fax, handy, e-mail

Also nichts besonderes. Das Einlesen in das datagridview funktioniert auch, nur wenn ich versuche einen neuen Eintrag hinzuzufügen oder einen vorhandenen upzudaten, bricht das ganze mit der Meldung: Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben.

Mit dem update sollte das doch kein problem sein oder?
Bitte helft mir :(
 

exiter28

Erfahrenes Mitglied
ich konnte das Problem lösen. Es lag am Sufix und Prefix des cmdbldr:

cmdBldr.QuotePrefix = "[";
cmdBldr.QuoteSuffix = "]";


Nachdem ich diese mit dazugegeben hab, funktionierte alles