1

複数のテキストボックス値をデータベースの複数の行に保存しようとしています。私のフォームは次のとおりです

textbox1 texbox2----データベースの行1

textbox3 textbox4-------データベースの行2

編集:テキストボックス1とtexbox 3が同じ列にあり、同じparam1を使用していることを明確にする必要があります

使用する前に単一の値を保存してきました

 cnn.Open();
    SqlTransaction tran = cnn.BeginTransaction();
    cmd.Connection = cnn;
    cmd.Transaction = tran;
    cmd.CommandText = "stored procedure";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Connection = cnn;
    SqlParameter p1 = new SqlParameter("@param1", SqlDbType.Int);
    SqlParameter p2 = new SqlParameter("@param2", SqlDbType.Int);
    cmd.Parameters.Add(p1);
    cmd.Parameters.Add(p2);
4

2 に答える 2

1

正しく理解できたら試してみてください

SqlTransaction tran = cnn.BeginTransaction();
cmd.Connection = cnn;
cmd.Transaction = tran;
cmd.CommandText = "stored procedure";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cnn;
for( int i = 0; i < 2; i++ )
{
    SqlParameter p1 = new SqlParameter("@param1", SqlDbType.Int);
    SqlParameter p2 = new SqlParameter("@param2", SqlDbType.Int);
    if( i == 0 )
    {
       p1.Value = Convert.ToInt32(textBox1.Text.Trim());     // row 1 in database
       p2.Value = Convert.ToInt32(textBox2.Text.Trim());    // row 1 in database
    }
    else
    {
       p1.Value = Convert.ToInt32(textBox3.Text.Trim());     // row 2 in database
       p2.Value = Convert.ToInt32(textBox4.Text.Trim());   // row 2 in database
    }
    cmd.Parameters.Add(p1);
    cmd.Parameters.Add(p2);

    cmd.ExecuteNonQuery(); // Execute the query
}
于 2012-08-31T17:04:15.983 に答える
0

このコードで試すことができます

SqlParameter p1 = new SqlParameter("@param1", SqlDbType.Int);
 p1.Value = Convert.ToInt32(textBox1.Text.Trim());
 SqlParameter p2 = new SqlParameter("@param2", SqlDbType.Int);
 p2.Value = Convert.ToInt32(textBox2.Text.Trim());
于 2012-08-31T16:55:21.203 に答える