{the magic lies between the brackets}

Tag: 16. Januar 2013 (Seite 1 von 1)

OleDB Exception -2147467259

Datenbank “ konnte nicht geöffnet werden. Entweder wird die Datenbank nicht von Ihrer Anwendung erkannt, oder die Datei ist beschädigt.

So lautete die Fehlermeldung, die ich bekam, als ich ein Update-Statement abschicken wollte.

Der Fehlercode lautete: -2147467259

Fieberhaft suchte ich dann nach einer Lösung.
Ist die Verbindung abgebrochen? War OleDBConnection.DataSource nicht richtig angegeben? Eine falsche Version der Datenbank?

All das konnte ich ausschließen, komischerweise funktionierte alles richtig – zumindest vor zwei Stunden noch.

Die Lösung war, und da hilft die Fehlermeldung überhaupt nicht weiter, ein Fehler im SQL-Statement.

Ich hab vergessen die WHERE Clause zu definieren, so hätte ich wohl aus Versehen alle Datensätze überschrieben.

Die Warnung war also doch nicht ganz nutzlos ;)

Warum dieser Fehler erst jetzt auffiel und nicht schon viel länger, bleibt mir allerdings rätselhaft.

C# Jeden Eintrag in einem DataGridView durchlaufen

Folgender Code durchläuft jede Zeile eines DataGridViews und in jeder Zeile alle Zellen und vergleicht deren Wert mit einem String.

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                for (int i = 0; i < dataGridView1.ColumnCount; i++)
                {
                    if ((string)row.Cells[i].Value == "String(Wert)"){
                        row.DefaultCellStyle.ForeColor = Color.Red; // Ändert die Farbe der kompletten Zeile auf Rot
                        row.Cells[i].xxx // Ändere etwas an der spezifischen Zelle
                    }
                    else{
                        row.DefaultCellStyle.ForeColor = Color.Green; // Ändert die Farbe der kompletten Zeile auf Grün
                    }
                }
            }

In der if-Abfrage ist ein Cast nötig, da ansonsten ein Object mit einem String verglichen wird.