Member 12977712 Ответов: 1

Перейдите к следующей строке в зависимости от значения из столбца В C#


Итак, я пытаюсь построить фрагмент кода, в котором я могу в зависимости от значения из столбца вставить эту строку или нет в базу данных. В основном он проверит все строки, которые я пытаюсь вставить, и посмотрит, есть ли там какой-нибудь столбец со значением, в данном случае с буквой "М".

Что я уже пробовал:

<pre>for (int linhas = 0; linhas < dataGridView1.Rows.Count; linhas++)
                    {
                        if (dataGridView1.Rows[linhas].Cells[8].Value.ToString() != "M")
                        {

                            string queryInsert = @"INSERT INTO CIM_Etiquetas(Carga, Referencia, Quantidade, DataEmissao, Linha, Marca, DescricaoWeb, CodProd, TipoEmb, NomePC) VALUES (@Carga, @Referencia, @Quantidade, @DataEmissao, @Linha, @Marca, @DescricaoWeb, @CodProd, @TipoEmb, @NomePC)";
                            cmd = new SqlCommand(queryInsert);
                            cmd.Connection = con;

                            cmd.Parameters.Add(new SqlParameter("@Carga", SqlDbType.VarChar, 11, "Carga"));
                            cmd.Parameters.Add(new SqlParameter("@Referencia", SqlDbType.VarChar, 30, "Referencia"));
                            cmd.Parameters.Add(new SqlParameter("@Quantidade", SqlDbType.Decimal, 11, "Quantidade"));
                            cmd.Parameters.Add(new SqlParameter("@DataEmissao", SqlDbType.SmallDateTime, 11, "DataEmissao"));
                            cmd.Parameters.Add(new SqlParameter("@Linha", SqlDbType.SmallInt, 4, "Linha"));
                            cmd.Parameters.Add(new SqlParameter("@Marca", SqlDbType.VarChar, 11, "Marca"));
                            cmd.Parameters.Add(new SqlParameter("@DescricaoWeb", SqlDbType.VarChar, 150, "DescricaoWeb"));
                            cmd.Parameters.Add(new SqlParameter("@CodProd", SqlDbType.VarChar, 20, "CodProd"));
                            cmd.Parameters.Add(new SqlParameter("@TipoEmb", SqlDbType.VarChar, 8, "TipoEmb"));
                            cmd.Parameters.Add(new SqlParameter("@NomePC", SqlDbType.VarChar, 30, "NomePC"));

                            cmd.Parameters["@Carga"].Value = dataGridView1.Rows[linhas].Cells[0].Value.ToString();
                            cmd.Parameters["@Referencia"].Value = dataGridView1.Rows[linhas].Cells[1].Value.ToString();
                            cmd.Parameters["@Quantidade"].Value = dataGridView1.Rows[linhas].Cells[2].Value.ToString();
                            cmd.Parameters["@DataEmissao"].Value = dataGridView1.Rows[linhas].Cells[3].Value.ToString();
                            cmd.Parameters["@Linha"].Value = dataGridView1.Rows[linhas].Cells[4].Value.ToString();
                            cmd.Parameters["@Marca"].Value = dataGridView1.Rows[linhas].Cells[5].Value.ToString();
                            cmd.Parameters["@DescricaoWeb"].Value = dataGridView1.Rows[linhas].Cells[6].Value.ToString();
                            cmd.Parameters["@CodProd"].Value = dataGridView1.Rows[linhas].Cells[7].Value.ToString();
                            cmd.Parameters["@TipoEmb"].Value = dataGridView1.Rows[linhas].Cells[8].Value.ToString();
                            cmd.Parameters["@NomePC"].Value = System.Environment.MachineName;

                            cmd.ExecuteNonQuery();
                        }
                    }


Если эта строка является столбцом с таким значением, она будет переходить к следующей строке до тех пор, пока не будет закончена. У вас есть какие-нибудь идеи, как я могу это решить?

1 Ответов

Рейтинг:
8

#realJSOP

Если я правильно понял ваш вопрос, вы хотите пропустить строки, которые имеют букву "М" в определенном столбце.

Изменить если заявление от этого:

if ((Myrow.Cells[8].Value.ToString()) == "M")
{
    //What should I do here?
}
else
{


...до настоящего времени:

if (Myrow.Cells[8].Value.ToString()) != "M")
{

Это приведет только к вставке строк, которые не имеют значения M в 8-м столбце, и не будет вставлять их, если они это сделают.

Если это не то, что вы имели в виду, улучшите свой вопрос.


Member 12977712

Я обновил пост с некоторыми изменениями в коде.

Member 12977712

Сделано. Спасибо!

Member 12977712

если (Myrow.Клеток[8].Значение.ToString (). Trim ()! = "M") - я изменил его

#realJSOP

Так у тебя все еще есть вопрос?