ramy nemer Ответов: 0

Передача значений datagridview непосредственно в первую форму из другой формы


using (Form3 frm3= new Form3())
                    {


                        cmd1.CommandText = "insert into [dbo].[personClothesDesc](upperPart, lowerPart, belt, socks, shoes, differentSigns) values (@upperPart, @lowerPart, @belt, @socks, @shoes, @differentSigns)";
                        for (int i = 0; i < form3.dataGridView3.Rows.Count; i++)
                        {
                            cmd1.Parameters.Clear();
                            cmd1.Parameters.AddWithValue("@upperPart", dataGridView3.Rows[i].Cells[1].Value);
                            cmd1.Parameters.AddWithValue("@lowerPart", dataGridView3.Rows[i].Cells[2].Value);
                            cmd1.Parameters.AddWithValue("@belt", dataGridView3.Rows[i].Cells[3].Value);
                            cmd1.Parameters.AddWithValue("@socks", dataGridView3.Rows[i].Cells[4].Value);
                            cmd1.Parameters.AddWithValue("@shoes", dataGridView3.Rows[i].Cells[5].Value);
                            cmd1.Parameters.AddWithValue("@differentSigns", dataGridView3.Rows[i].Cells[6].Value);
                            cmd1.ExecuteNonQuery();
                        }
                    }

                        cmd1.CommandText = "insert into [dbo].[personGeneralDesc](gender, age, height, bodyType, skinColor, differentSigns) values (@gender, @age, @height, @bodyType, @skinColor, @differentSigns)";
                        for (int i = 0; i < form3.dataGridView1.Rows.Count; i++)
                        {
                            cmd1.Parameters.Clear();
                            cmd1.Parameters.AddWithValue("@gender", dataGridView1.Rows[i].Cells[1].Value);
                            cmd1.Parameters.AddWithValue("@age", dataGridView1.Rows[i].Cells[2].Value);
                            cmd1.Parameters.AddWithValue("@height", dataGridView1.Rows[i].Cells[3].Value);
                            cmd1.Parameters.AddWithValue("@bodyType", dataGridView1.Rows[i].Cells[4].Value);
                            cmd1.Parameters.AddWithValue("@skinColor", dataGridView1.Rows[i].Cells[5].Value);
                            cmd1.Parameters.AddWithValue("@differentSigns", dataGridView1.Rows[i].Cells[6].Value);
                            cmd1.ExecuteNonQuery();
                        }

                        cmd1.CommandText = "insert into [dbo].[personHeadDesc](headShape, faceShape, eyesShape, hairType, chinType, eyeGlasses, headCoverUp, differentSigns) values (@headShape, @faceShape, @eyesShape, @hairType, @chinType, @eyeGlasses, @headCoverUp, @differentSigns)";
                        for (int i = 0; i < form3.dataGridView2.Rows.Count; i++)
                        {
                            cmd1.Parameters.Clear();
                            cmd1.Parameters.AddWithValue("@gender", dataGridView2.Rows[i].Cells[1].Value);
                            cmd1.Parameters.AddWithValue("@age", dataGridView2.Rows[i].Cells[2].Value);
                            cmd1.Parameters.AddWithValue("@height", dataGridView2.Rows[i].Cells[3].Value);
                            cmd1.Parameters.AddWithValue("@bodyType", dataGridView2.Rows[i].Cells[4].Value);
                            cmd1.Parameters.AddWithValue("@skinColor", dataGridView2.Rows[i].Cells[5].Value);
                            cmd1.Parameters.AddWithValue("@differentSigns", dataGridView2.Rows[i].Cells[6].Value);
                            cmd1.ExecuteNonQuery();
                        }
                    }


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

я закодировал код выше, но он не работает, я не знаю, правильно ли передавать или повторять dgv в другой форме, как это

Suvendu Shekhar Giri

Вы получаете какую-то ошибку?

ramy nemer

индекс был вне зоны досягаемости . должно быть неотрицательным и меньше размера коллекции. Имя параметра = индекс

0 Ответов