У меня есть программа C# для вставки данных в базу данных SQL Server. В базе данных есть столбец, и, конечно же, с помощью вставки данных можно создать несколько строк. В моей программе Winforms у меня есть несколько текстовых полей, которые получают данные из другой таблицы, каждое текстовое поле получает разные данные. Я хочу вставить данные из каждого текстового поля в один и тот же столбец. Однако мне нужно, чтобы каждое значение текстового поля было go в отдельной строке. Вот так
ColumnName
-------------------
Value from textbox1
Value from textbox2
Это мой код. Проблема в том, что он вставляет значения из 2 текстовых полей в тот же столбец, как я хочу, но в той же строке.
Это код:
string str = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
SqlConnection con = new SqlConnection(str);
con.Open();
_ = TextBox1Text;
_ = TextBox1Text ;
String commandText = "INSERT INTO SQLTableName (ColumnName) VALUES (@ColumnName)";
if (con.State == ConnectionState.Open)
{
SqlCommand cmmd = new SqlCommand(commandText, con);
cmmd.Parameters.Add("@ColumnName", SqlDbType.Text);
cmmd.Parameters["@ColumnName"].Value = TextBox1.Text + ' ' + TextBox2.Text;
}
Может кто-нибудь помочь мне выяснить, как это сделать?
РЕДАКТИРОВАТЬ:
Я изменил код, как предложено в комментариях и ответе. Однако, когда он вводит данные в базу данных, он сохраняет значение из textbox1 в одну строку, но значение из текстового поля 2 сохраняется дважды по одному в каждой строке.
String commandText = "INSERT INTO MyTable (ColumnName)Values(@ColumnName)";
if (con.State == ConnectionState.Open)
{
SqlCommand cmmd = new SqlCommand(commandText, con)
cmmd.Parameters.Add("@ColumnName", SqlDbType.Nvarchar, -1);
cmmd.Parameters["@ColumnName"].Value = TextBox1.Text;
cmmd.ExecuteNonQuery();
cmmd.Parameters["@ColumnName"].Value = TextBox2.Text;
cmmd.ExecuteNonQuery();
}