ich den folgenden Code haben:Wie zu beheben Datagridview Fehler?
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
string age = dataGridView1.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn43"].Value.ToString();
dataGridView1.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn43"].Value = (age == "1") ? "Муж" : "Жен";
}
Als ich Programm ausführen es fatal Nachricht gibt:
In Datenbankfeld gender
ist als integer
Typ. Dieser Wert sollte zum Spaltennamen hinzugefügt werden: dataGridViewTextBoxColumn43
.
Abfrage zur Datenbank:
public Datatable select (SQLiteDatabase db) {
return db.GetDataTable("SELECT " +
"Pacients.id, " +
"unique_code," +
"status_pass, " +
"payment, " +
"profession," +
"office_address, " +
"factory_name, " +
"factory_edrpou, " +
"factory_departament," +
"name, " +
"secondname, " +
"lastname, " +
"datebirth, " +
"taxcode, " +
"gender, " +
"Pacients.created_at, " +
"file, " +
"PacientsOrder.kind_work, " +
"PacientsOrder.status " +
"FROM Pacients LEFT JOIN PacientsOrder ON PacientsOrder.pacient_id = Pacients.id LEFT JOIN Transactions ON Transactions.pacient_id = Pacients.id ORDER BY Pacients.id DESC");
}
Haben Sie den Code debuggen? Welche Codezeile gibt Ihnen einen Fehler? Der Code spricht über das Alter, während Ihre Beschreibung sagt über Geschlecht aber Ausnahme ist FormatException der Umwandlung von Nummer in String, während Code keine Konvertierungsmethode verwendet hat. Was vermisse ich hier. –
Es sieht so aus, als ob Sie versuchen, einer Zelle, die an eine numerische Spalte einer Datenquelle gebunden ist, einen Textwert zuzuweisen. Dann schlägt die Konvertierung fehl. Haben Sie einen bestimmten Datentyp für die Spalte 'dataGridViewTextBoxColumn43' festgelegt? –
https://stackoverflow.com/questions/13157891/bit-datatype-to-enum-type-mapping-from-database-to-dataset-in-sql-server-2008 – Slai