У меня есть и счет в Excel, который я импортирую в DataGridView, и беру два важных поля (номер части, цена), затем я прохожу по фабрику Foreach, чтобы прочитать номер детали в DataGridView счета -фактуры, так что сделайте запрос выбора и получу текущую цену из базы данных инвентаризации. System.Data.DataTable dt = new System.Data.DataTable();
foreach (DataGridViewRow row in dgvExcelRadec.Rows)
{
string NP = row.Cells["N.P."].Value.ToString();
if (NP != null)
{
MySqlConnection connection = new MySqlConnection(connectionString);
connection.Open();
string query = "SELECT clave,descripcion,precioCompra,precio1 FROM articulo WHERE clave =@clave;";
MySqlCommand command = new MySqlCommand(query, connection);
command.Parameters.AddWithValue("@clave", NP);
MySqlDataAdapter da = new MySqlDataAdapter(command);
DataSet ds = new DataSet();
da.Fill(ds);
command.ExecuteNonQuery();
connection.Close();
dt.ImportRow(ds.Tables[0].Rows[0]);
}
}
DGVDBSICAR.Columns[0].HeaderText = "Part No";
DGVDBSICAR.Columns[1].HeaderText = "Description";
DGVDBSICAR.Columns[2].HeaderText = "Cost";
DGVDBSICAR.Columns[3].HeaderText = "Public Price";
< /code>
Подробная информация - это когда я запускаю программное обеспечение, я получаю ошибку < /p>
system.argumentOutofrangeException: 'Индекс был вне диапазона. Должен быть неотрицательным и меньше, чем размер коллекции. (Параметр 'index') '
Я пытаюсь заполнить DataTable неправильно или есть другой способ заполнить DataGridView?
Подробнее здесь: https://stackoverflow.com/questions/797 ... one-with-m