Переход к следующей строке в зависимости от значения из столбца В C#
- Привет!
Поэтому я пытаюсь создать код, который позволяет мне вставлять значения в мою базу данных. Перед выполнением команды Insert он проверит значение столбца, если оно существует. Если она существует, то эта строка не будет добавлена в базу данных, если она не существует, то она будет вставлена в нее.
Что я уже пробовал:
<pre> for (int row = 0; row< dataGridView1.Rows.Count; row++) { con = new SqlConnection(cs.DBConnPS); con.Open(); //I've tried this if (dataGridView1.Rows[linhas].Cells[8].Value.ToString() == "M") { linhas = linhas + 1; } string queryInsert = @"INSERT INTO Table1(Cargs, Refed, Qty, Date, Line, Mark, DescripWeb, CodeProd, TypeEmb, NamePC) VALUES(@Cargs, @Refed, @Qty, @Date, @Line, @Mark, @DescripWeb, @CodeProd, @TypeEmb, @NamePC)"; cmd = new SqlCommand(queryInsert); cmd.Connection = con; cmd.Parameters.Add(new SqlParameter("@Cargs", SqlDbType.VarChar, 11, "Cargs")); cmd.Parameters.Add(new SqlParameter("@Refed", SqlDbType.VarChar, 30, "Refed")); cmd.Parameters.Add(new SqlParameter("@Qty", SqlDbType.Decimal, 11, "Qty")); cmd.Parameters.Add(new SqlParameter("@Date", SqlDbType.SmallDateTime, 11, "Date")); cmd.Parameters.Add(new SqlParameter("@Line", SqlDbType.SmallInt, 4, "Line")); cmd.Parameters.Add(new SqlParameter("@Mark", SqlDbType.VarChar, 11, "Mark")); cmd.Parameters.Add(new SqlParameter("@DescripWeb", SqlDbType.VarChar, 150, "DescripWeb")); cmd.Parameters.Add(new SqlParameter("@CodeProd", SqlDbType.VarChar, 20, "CodeProd")); cmd.Parameters.Add(new SqlParameter("@TypeEmb", SqlDbType.VarChar, 8, "TypeEmb")); cmd.Parameters.Add(new SqlParameter("@NamePC", SqlDbType.VarChar, 30, "NamePC")); cmd.Parameters["@Cargs"].Value = dataGridView1.Rows[linhas].Cells[0].Value.ToString(); cmd.Parameters["@Refed"].Value = dataGridView1.Rows[linhas].Cells[1].Value.ToString(); cmd.Parameters["@Qty"].Value = dataGridView1.Rows[linhas].Cells[2].Value.ToString(); cmd.Parameters["@Date"].Value = dataGridView1.Rows[linhas].Cells[3].Value.ToString(); cmd.Parameters["@Line"].Value = dataGridView1.Rows[linhas].Cells[4].Value.ToString(); cmd.Parameters["@Mark"].Value = dataGridView1.Rows[linhas].Cells[5].Value.ToString(); cmd.Parameters["@DescripWeb"].Value = dataGridView1.Rows[linhas].Cells[6].Value.ToString(); cmd.Parameters["@CodeProd"].Value = dataGridView1.Rows[linhas].Cells[7].Value.ToString(); cmd.Parameters["@TypeEmb"].Value = dataGridView1.Rows[linhas].Cells[8].Value.ToString(); cmd.Parameters["@NamePC"].Value = System.Environment.MachineName; cmd.ExecuteNonQuery(); }
Что я мог сделать?