0

すべての出力をスペースで区切られた 1 つの行に格納したいテーブルがあります (例: "textbox1 textbox2 textbox3"。これを行うにはどうすればよいでしょうか?現時点では、それらを別の列に配置しようとしています。より少ない列を使用しています。

            }
            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!");

            }
        }
4

2 に答える 2

2

これを試して:

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!");

            }
于 2012-06-10T05:42:03.343 に答える
1

指定したよりも多くの列にデータを挿入しているため、その部分でエラーが発生したと思います。そのため、コードを変更してエラーを削除します。

   }
            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!");

        }
    }
于 2012-06-10T05:52:05.600 に答える