1

我正在尝试将多个文本框值保存到数据库中的多行中。我的表格如下

textbox1 texbox 2 ---- 数据库中的第 1 行

textbox3 文本框 4 ------数据库中的第 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 回答