Я пытаюсь обновить таблицу mysql, находясь внутри цикла C# for, и инструкция if содержит несколько инструкций if. Во время работы с точкой останова он запускает executeononquery один раз, а следующий цикл он не ударил. Даже когда я нажимаю на запрос, он не меняет информацию о таблице.таблица обновлений внутри for loop
строка ffi - это имя столбца в моей таблице, а строка val - это то, что я хочу вставить. Я знаю, что это не безопасный способ сделать это, но я изменю его, когда я смогу заставить его работать путь должен. Обновленный код он сейчас руководит NONQUERY каждый раз, когда он должен, но до сих пор не обновляет таблицу Код:
for (a = 0; a <= z; a++)
{
if (ds3.Tables[0].Rows[a][1].ToString() == dataGridView1.Rows[i].Cells[0].Value.ToString())
{
if (ds3.Tables[0].Rows[a][2].ToString() == dataGridView1.Rows[i].Cells[1].Value.ToString())
{
if (ds3.Tables[0].Rows[a][3].ToString() == dataGridView1.Rows[i].Cells[2].Value.ToString())
{
MessageBox.Show("We have a match " + dataGridView1.Rows[i].Cells[0].Value.ToString() + " " + dataGridView1.Rows[i].Cells[1].Value.ToString() + " " + dataGridView1.Rows[i].Cells[t].Value.ToString());
try
{
string ffi = textBox1.Text;
decimal val = decimal.Parse(dataGridView1.Rows[i].Cells[t].Value.ToString());
MySqlCommand cmd = new MySqlCommand("Update spt_results SET " + ffi + " = " + val + " where project_Id =" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "",connection2);
//cmd.Connection = connection2;'
// cmd.Connection.Open();
cmd.ExecuteNonQuery();
//cmd.Connection.Close();
}
catch
{
}
окно сообщения не отображает каждый цикл и connection2.open будет работать каждый раз Спасибо за будущее и ваши помочь строка обновление выглядит как "обновление spt_results SET FFI 300 = '15', где pROJECT_ID = AAA007", когда он работает
Brent
Спасибо, что вы двинули открытое соединение и меняли строчку, отлично работали, я играл в sql MyphpAdmin и обнаружил, что мне нужно процитировать FFI, но просто не может показаться, что это правильно. – bmorrison1982