Как добавить несколько значений текстового поля в один столбец таблицы базы данных
Привет,
У меня есть веб-страница с несколькими парами текстовых полей - одно для coursecode, а другое для int courseunit. В нижней части страницы у меня есть кнопка Сохранить, и я хочу, чтобы при нажатии на нее пользовательский ввод в каждой паре сохранялся в моих столбцах courseCode и courseUnit таблицы курсов в моей базе данных для всех моих пар текстовых полей. Поэтому я говорю, что у меня есть около 20 текстовых полей, 10 для кодов курсов и 10 для единиц курса, которые должны храниться одновременно всего в двух столбцах таблицы БД.
Что я уже пробовал:
protected void SaveBtn_Click(object sender, EventArgs e) { //save coursecodes and units entered to database try { using (SqlConnection sqlCon = new SqlConnection(connectionString)) { sqlCon.Open(); //string Query = "INSERT INTO Courses (courseCode,courseUnit) VALUES (@courseCode1,@courseCode2,@courseCode3,@courseCode4,@courseCode5,@courseCode6,@courseCode7,@courseCode8,@courseCode9,@courseCode10,@courseCode11,@courseCode12,@courseCode13,@courseCode14,@courseCode15,@courseCode16,@courseUnit1,@courseUnit2,@courseUnit3,@courseUnit4,@courseUnit5,@courseUnit6,@courseUnit7,@courseUnit8,@courseUnit9,@courseUnit10,@courseUnit11,@courseUnit12,@courseUnit13,@courseUnit14,@courseUnit15,@courseUnit16)"; string Query = "INSERT INTO Courses (courseCode,courseUnit) VALUES (@courseCode,@courseUnit)"; SqlCommand sqlCmd = new SqlCommand(Query, sqlCon); sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox1")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox2")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox7")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox9")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox13")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox15")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox19")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox21")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox25")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox27")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox31")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox33")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox37")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox39")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox5")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseCode", SqlDbType.NChar).Value = (FindControl("TextBox11")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox3")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox4")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox8")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox10")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox14")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox16")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox20")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox22")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox26")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox28")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox32")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox34")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox38")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox40")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox6")) ?? (object)DBNull.Value; sqlCmd.Parameters.AddWithValue("@courseUnit", SqlDbType.Int).Value = (FindControl("TextBox12")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode1", SqlDbType.NChar).Value = (FindControl("TextBox1")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode2", SqlDbType.NChar).Value = (FindControl("TextBox2")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode3", SqlDbType.NChar).Value = (FindControl("TextBox7")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode4", SqlDbType.NChar).Value = (FindControl("TextBox9")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode5", SqlDbType.NChar).Value = (FindControl("TextBox13")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode6", SqlDbType.NChar).Value = (FindControl("TextBox15")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode7", SqlDbType.NChar).Value = (FindControl("TextBox19")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode8", SqlDbType.NChar).Value = (FindControl("TextBox21")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode9", SqlDbType.NChar).Value = (FindControl("TextBox25")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode10", SqlDbType.NChar).Value = (FindControl("TextBox27")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode11", SqlDbType.NChar).Value = (FindControl("TextBox31")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode12", SqlDbType.NChar).Value = (FindControl("TextBox33")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode13", SqlDbType.NChar).Value = (FindControl("TextBox37")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode14", SqlDbType.NChar).Value = (FindControl("TextBox39")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode15", SqlDbType.NChar).Value = (FindControl("TextBox5")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseCode16", SqlDbType.NChar).Value = (FindControl("TextBox11")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit1", SqlDbType.Int).Value = (FindControl("TextBox3")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit2", SqlDbType.Int).Value = (FindControl("TextBox4")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit3", SqlDbType.Int).Value = (FindControl("TextBox8")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit4", SqlDbType.Int).Value = (FindControl("TextBox10")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit5", SqlDbType.Int).Value = (FindControl("TextBox14")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit6", SqlDbType.Int).Value = (FindControl("TextBox16")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit7", SqlDbType.Int).Value = (FindControl("TextBox20")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit8", SqlDbType.Int).Value = (FindControl("TextBox22")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit9", SqlDbType.Int).Value = (FindControl("TextBox26")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit10", SqlDbType.Int).Value = (FindControl("TextBox28")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit11", SqlDbType.Int).Value = (FindControl("TextBox32")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit12", SqlDbType.Int).Value = (FindControl("TextBox34")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit13", SqlDbType.Int).Value = (FindControl("TextBox38")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit14", SqlDbType.Int).Value = (FindControl("TextBox40")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit15", SqlDbType.Int).Value = (FindControl("TextBox6")) ?? (object)DBNull.Value; //sqlCmd.Parameters.AddWithValue("@courseUnit16", SqlDbType.Int).Value = (FindControl("TextBox12")) ?? (object)DBNull.Value; // sqlCmd.Parameters.AddWithValue("@courseCode1", (FindControl("TextBox1"))); // sqlCmd.Parameters.AddWithValue("@courseCode2", (FindControl("TextBox2"))); // sqlCmd.Parameters.AddWithValue("@courseCode3", (FindControl("TextBox7"))); // sqlCmd.Parameters.AddWithValue("@courseCode4", (FindControl("TextBox9"))); // sqlCmd.Parameters.AddWithValue("@courseCode5", (FindControl("TextBo13"))); // sqlCmd.Parameters.AddWithValue("@courseCode6", (FindControl("TextBox15"))); // sqlCmd.Parameters.AddWithValue("@courseCode7", (FindControl("TextBox19"))); // sqlCmd.Parameters.AddWithValue("@courseCode8", (FindControl("TextBox21"))); // sqlCmd.Parameters.AddWithValue("@courseCode9", (FindControl("TextBox25"))); // sqlCmd.Parameters.AddWithValue("@courseCode10", (FindControl("TextBox27"))); // sqlCmd.Parameters.AddWithValue("@courseCode11", (FindControl("TextBox31"))); // sqlCmd.Parameters.AddWithValue("@courseCode12", (FindControl("TextBox33"))); // sqlCmd.Parameters.AddWithValue("@courseCode13", (FindControl("TextBox37"))); // sqlCmd.Parameters.AddWithValue("@courseCode14", (FindControl("TextBox39"))); // sqlCmd.Parameters.AddWithValue("@courseCode15", (FindControl("TextBox5"))); // sqlCmd.Parameters.AddWithValue("@courseCode16", (FindControl("TextBox11"))); //sqlCmd.Parameters.AddWithValue("@courseUnit1", (FindControl("TextBox3"))); //sqlCmd.Parameters.AddWithValue("@courseUnit2", (FindControl("TextBox4"))); //sqlCmd.Parameters.AddWithValue("@courseUnit3", (FindControl("TextBox8"))); //sqlCmd.Parameters.AddWithValue("@courseUnit4", (FindControl("TextBox10"))); //sqlCmd.Parameters.AddWithValue("@courseUnit5", (FindControl("TextBo14"))); //sqlCmd.Parameters.AddWithValue("@courseUnit6", (FindControl("TextBox16"))); //sqlCmd.Parameters.AddWithValue("@courseUnit7", (FindControl("TextBox20"))); //sqlCmd.Parameters.AddWithValue("@courseUnit8", (FindControl("TextBox22"))); //sqlCmd.Parameters.AddWithValue("@courseUnit9", (FindControl("TextBox26"))); //sqlCmd.Parameters.AddWithValue("@courseUnit10", (FindControl("TextBox28"))); //sqlCmd.Parameters.AddWithValue("@courseUnit11", (FindControl("TextBox32"))); //sqlCmd.Parameters.AddWithValue("@courseUnit12", (FindControl("TextBox34"))); //sqlCmd.Parameters.AddWithValue("@courseUnit13", (FindControl("TextBox38"))); //sqlCmd.Parameters.AddWithValue("@courseUnit14", (FindControl("TextBox40"))); //sqlCmd.Parameters.AddWithValue("@courseUnit15", (FindControl("TextBox6"))); //sqlCmd.Parameters.AddWithValue("@courseUnit16", (FindControl("TextBox12"))); sqlCmd.ExecuteNonQuery(); lblSuccessMessage.Text = "Courses successfully added"; lblErrorMessage.Text = ""; } } catch (Exception ex) { lblSuccessMessage.Text = ""; lblErrorMessage.Text = ex.Message; } /* //use coursecode input to name new columns in gridview foreach (var c in GridView1.HeaderRow.Cells) { } */ }
В моем коде вы увидите, что я использовал несколько подобных подходов, но все они привели к ошибке