Как сделать цикл, который будет сравнивать все значения одним нажатием на кнопку?
Суть.
Нажимаем на кнопку, далее
Если ЗначениеИзТаблицыЭксель == ЗначениюИзТаблицыБазыДанных
То Удалить строку из ТаблицыЭксель (globalDataTableExcel)
Вот код:
foreach (DataRow i in globalDataTableExcel.Rows)
{
foreach (DataRow j in globalDataTableMySQL.Rows)
{
for (int x = 0; x < globalDataTableMySQL.Rows.Count; ++x)
{
string a = i[0].ToString();
string b = j[0].ToString();
if ((a != null) & b != null)
{
if (a != b)
{
i.Delete();
}
}
}
}
}
Строк там много, но как, я извиняюсь "залупить" эту операцию, до тех пор, пока не будут проверены все строки? Напрашивается while...do.
И еще выползает исключение, только сейчас заметил, тоже не знаю что делать. Тип исключения Object reference not set to an instance of an object.
Ответы (1 шт):
Автор решения: CatException
→ Ссылка
Решение
private void btnMinusovat_Click(object sender, EventArgs e)
{
List<string> data_Excel = new List<string>();
DataBase db = new DataBase(connection_String);
int iRows = Convert.ToInt32(db.ParseData($"SELECT COUNT(*) as count FROM phone1"));
try
{
foreach (DataRow i in globalDataTableExcel.Rows)
{
foreach (DataRow j in globalDataTableMySQL.Rows)
{
for (int x = 0; x < globalDataTableMySQL.Rows.Count; ++x)
{
string a = i[0].ToString();
string b = j[0].ToString();
if ((a != null) & b != null)
{
if (a != b)
{
i.Delete();
++minusSlov;
}
}
}
}
}
globalDataTableExcel.AcceptChanges();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка: " + ex.Message.ToString(), "Exception " + this.Name);
}
finally
{
dgvMinusator.DataSource = globalDataTableExcel;
}