C# 如何将radiobuttonlist中的选定数据存储在数据库中继器中?

C# 如何将radiobuttonlist中的选定数据存储在数据库中继器中?,c#,asp.net,C#,Asp.net,我正在创建一个调查表单,希望调查人员使用radiobuttonlist选择的回答存储在数据库中。因为我使用了中继器来做这件事,所以我无法获得数据 中继器代码: <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <table style="border:1px solid #A55129; background-

我正在创建一个调查表单,希望调查人员使用radiobuttonlist选择的回答存储在数据库中。因为我使用了中继器来做这件事,所以我无法获得数据

中继器代码:

<asp:Repeater ID="Repeater1" runat="server">
                    <ItemTemplate>
                        <table style="border:1px solid #A55129; background-color:aqua">
                            <tr>
                           <td style="width:200px">
                                    <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" >

                                        <asp:ListItem Text="1" Value="Bad"></asp:ListItem>
                                        <asp:ListItem Text="2" Value="Fair"></asp:ListItem>
                                        <asp:ListItem Text="3" Value="Very Good"></asp:ListItem>
                                        <asp:ListItem Text="4" Value="Good"></asp:ListItem>
                                        <asp:ListItem Text="5" Value="Excellent"></asp:ListItem>
                                    </asp:RadioButtonList>
                                </td>

                            </tr>
                        </table>
                    </ItemTemplate>
                </asp:Repeater>

您需要执行comm.ExecuteQuery(),才能进行实际插入。这就是为什么您没有看到插入的数据

事实上,这里有一种更干净的方法来做同样的事情,以便尽快处理所有对象

string registerquery = "Insert into surveyresponses  (ANSWER) values (@ans)";

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SurveyUserdataConnectionString2"].ConnectionString))
{
 using (SqlCommand comm = new SqlCommand(registerquery, conn))
 {
  comm.Parameters.AddWithValue("@ans", answer);
  comm.ExecuteNonQuery();
 }
}

没有这样的错误,但它不会在数据库中插入数据。它无法获取数据。这是一个古老而废弃的问题,我认为它可能会因为不清楚而关闭。什么不起作用?值是0还是未插入数据?您能否打开SQL profiler并查看正在激发的查询。该查询正在SQL profiler中执行,但当在“按钮单击”上运行此网页时,不会在“按钮单击”上插入数据,只是选中的数据未选中,就像刷新页面一样。
string registerquery = "Insert into surveyresponses  (ANSWER) values (@ans)";

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SurveyUserdataConnectionString2"].ConnectionString))
{
 using (SqlCommand comm = new SqlCommand(registerquery, conn))
 {
  comm.Parameters.AddWithValue("@ans", answer);
  comm.ExecuteNonQuery();
 }
}