将 C# 中的多个值插入到 SQL 表的一行中
本文关键字:一行 SQL 插入 | 更新日期: 2023-09-27 18:36:45
我有一个表,我想将所有输出存储到一行中,用空格分隔(例如"文本框1 文本框2 文本框3"。我该怎么做?目前,它试图将它们放入不同的列中。给我一个错误,说明我使用更少的列。
}
using (SqlCommand cmd = new SqlCommand("INSERT INTO [user] (solution) VALUES (@textbox1, @textbox2, @textbox3)", cn))
{
cmd.Parameters.AddWithValue("@textbox1", textBox1.Text);
cmd.Parameters.AddWithValue("@textbox2", textBox2.Text);
cmd.Parameters.AddWithValue("@textbox3", textBox3.Text);
cmd.ExecuteNonQuery(); // or int affected = cmd.ExecuteNonQuery()
MessageBox.Show("Success!");
}
}
试试这个:
using (SqlCommand cmd = new SqlCommand("INSERT INTO [user] (solution) VALUES (@text)", cn))
{
cmd.Parameters.AddWithValue("@text", textBox1.Text + " " + textBox2.Text + " " + textBox3.Text);
cmd.ExecuteNonQuery(); // or int affected = cmd.ExecuteNonQuery()
MessageBox.Show("Success!");
}
您在比
指定的列更多的列中插入数据,因此我认为您在该部分中遇到了错误。因此,在代码中进行一些修改以消除错误:
}
using (SqlCommand cmd = new SqlCommand("INSERT INTO [user] (solution) VALUES (@textbox1+' '+ @textbox2+' '+ @textbox3)", cn))
{
cmd.Parameters.AddWithValue("@textbox1", textBox1.Text);
cmd.Parameters.AddWithValue("@textbox2", textBox2.Text);
cmd.Parameters.AddWithValue("@textbox3", textBox3.Text);
cmd.ExecuteNonQuery(); // or int affected = cmd.ExecuteNonQuery()
MessageBox.Show("Success!");
}
}