我有以下代碼:如何修復datagridview錯誤?
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") ? "Муж" : "Жен";
}
當運行程序它給致命消息:
在數據庫字段gender
是integer
類型。此值應添加到列名稱:dataGridViewTextBoxColumn43
。
查詢數據庫:
公共DataTable的選擇(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");
}
您是否調試過代碼?哪一行代碼給你錯誤?代碼討論的是年齡,而你的描述是關於性別的,但是例外是將數字轉換爲字符串的FormatException,而代碼沒有使用任何轉換方法。我在這裏錯過了什麼。 –
它看起來像你試圖分配文本值到綁定到數據源的數字列的單元格。那是轉換失敗的時候。你是否爲列「dataGridViewTextBoxColumn43」設置了特定的數據類型? –
https://stackoverflow.com/questions/13157891/bit-datatype-to-enum-type-mapping-from-database-to-dataset-in-sql-server-2008 – Slai