Как решить ошибку `Вы указали неверный порядковый номер столбца`
Я получаю следующую ошибку:
Вы указали неверный порядковый номер столбца
Я уже проверил номер столбца в моей базе данных, и я знаю, что это правильно. Вот мой код:
using (MySqlCommand cmd = new MySqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@ID", txtboxID.Text);
MySqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
int size = dr.GetInt32(3);
int quantity = dr.GetInt32(4);
string variant = dr.GetString(2);
DataGridViewRow row = dataGridView2.Rows
.Cast<DataGridViewRow>()
.Where(r => (r.Cells["variant_name"].Value.ToString().Equals(variant) && r.Cells["size"].Value.Equals(size)))
.First();
row.Cells["quantity"].Value = quantity;
}
}
Я получаю сообщение об ошибке в этой строке -> int size = dr.GetInt32(3);
1 ответ
Решение
Ваш запрос возвращает три столбца, а порядковый номер столбца равен 0, поэтому ваши порядковые номера будут 0, 1 и 2, например:
int size = dr.GetInt32(1);
int quantity = dr.GetInt32(2);
string variant = dr.GetString(0);
Как ваш запрос возвращается variant_name
, size
а также quantity
в этом порядке (0, 1 и 2).