Member 14012665 Ответов: 2

Результат умножения автоматический и к подключению базы данных


привет,

я хочу вычислить 3 значения текстового поля для автоматического результата в textbox4, а также Эти значения вставляются в базу данных.
Пожалуйста, помогите мне срочно.........

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

частная dataGridView1_CellContentClick недействительным(объект отправителя, DataGridViewCellEventArgs е)
{


по каждому элементу(ячейки datagridviewrow строку в dataGridView1.Строк)
{
ряд.Ячейки[dataGridView1.Columns["total"].Индекс].Значение = (Конвертировать.Метод todouble(строки.Клеток[dataGridView1.Колонки["длина"].Индекс].Значение) * Преобразование.ToDouble(row.Cells[dataGridView1.Columns["ширина"].Индекс].Значение) * Преобразование.Метод todouble(строки.Клеток[dataGridView1.Колонки["высота"].значение индекса));

}



}

Patrice T

В чем проблема с этим кодом ?

2 Ответов

Рейтинг:
2

kanangandhi

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
       {
           DataGridViewRow dvr = dataGridView1.Rows[e.RowIndex];
           if (dvr != null)
           {
               textBox1.Text = dvr.Cells["length"].Value.ToString();
               textBox2.Text = dvr.Cells["breadth"].Value.ToString();
               textBox3.Text = dvr.Cells["height"].Value.ToString();

               textBox4.Text = (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text)).ToString();
           }
       }


Рейтинг:
1

OriginalGriff

Во-первых, не используйте Convert для любого пользовательского ввода. Пользователи совершают ошибки, поэтому всегда проверяйте их с помощью TryParse:

double length;
if (!double.TryParse(myTextBox.Text))
   {
   ... report problem to user ...
   return;
   }
Затем передайте результат вашего умножения в SQL с помощью параметризованного запроса:
using (SqlConnection con = new SqlConnection(strConnect))
    {
    con.Open();
    using (SqlCommand cmd = new SqlCommand("INSERT INTO myTable (myColumn1) VALUES (@C1)", con))
        {
        cmd.Parameters.AddWithValue("@C1", myValueForColumn1);
        cmd.ExecuteNonQuery();
        }
    }