使用asp.net将主键表的radiobutton列表的值提取到另一个外键表

时间:2012-10-26 12:13:17

标签: c# asp.net sql-server-2008

我在SQL Server数据库中创建了两个表,在ASP.NET页面中创建了一个RadioButtonList。在一个表中,我将每个单选按钮的值存储为主键。我想要点击那个单选按钮,它的主键值存储在外键列的另一个表中。

这里我在MS-SQl中使用存储过程。 主键表是性别,外键表是user。在aspx页面中我将性别视为radiobuttons,现在的问题是我如何获取性别表的主要ID并填写用户表。我的代码如下:

ArrayList arSample = new ArrayList();
Object[] n_gender_id = new Object[3] { "@intGender", "Int", (rbtngender.SelectedValue != "") ? rbtngender.SelectedValue : "" };

我正在获取radiobutton的值如何得到特定按钮的ID。 帮忙.......

1 个答案:

答案 0 :(得分:0)

听起来你想做SELECT [Id] FROM [user] WHERE [gender] = @intGender之类的事情,并将@intGender的值设置为选定的单选按钮值。

由于您显示的参数似乎是一个整数,我可能会从以下内容开始:

var arSample = new ArrayList();
int gender;
if (!int.TryParse(rbtngender.SelectedValue, out gender)) return;

using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionStringNameFromWeb.Config"].ConnectionString))
{
    using (var cmd = new SqlCommand("storedProcName", conn))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@intGender", gender);

        conn.Open();
        using (SqlDataReader dr = cmd.ExecuteReader())
        {
            while (dr.Read())
            {
                // process each row from the data reader...
                arSample.Add(dr["Id"]);
            }
        }
        conn.Close();
    }
}