Как вставить ответы пользователей в базу данных вместе с их идентификатором.
Я хочу сохранить имя пользователя, questionid и ответа, выбранного пользователем в базе данных. Я отобразил вопросы и параметры из базы данных на форме. Ниже приведен мой код до сих пор.у меня есть таблица с именем UserResponses в котором содержится идентификатор пользователя,questionid и ответы.
protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(connecst); //Getting All Questions SqlDataAdapter dr = new SqlDataAdapter("select QId, Text from Questions", con); DataSet ds = new DataSet(); dr.Fill(ds, "QId"); DataList1.DataSource = ds.Tables["QId"]; dr.Fill(ds, "Text"); DataList1.DataSource = ds.Tables["Text"]; DataList1.DataBind(); } protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { RadioButtonList RadioButtonList1 = (RadioButtonList)e.Item.FindControl("RadioButtonList1"); //Get questionID here int QuestionID = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "QId")); SqlConnection con = new SqlConnection(connecst); con.Open(); sql = "SELECT ID,Answer FROM [Options] inner join Questions on " + "Questions.QId= Options.QID where Questions.QId=" + QuestionID; //Bind the RadiobUttonList here SqlDataAdapter da = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds.Tables[0]; RadioButtonList1.DataSource = dt; RadioButtonList1.DataTextField = dt.Columns[1].ToString(); RadioButtonList1.DataValueField = dt.Columns[0].ToString(); RadioButtonList1.DataBind(); } }
Что я уже пробовал:
private void SaveAnswer(int UId, int Qid, string ans) { foreach (ListItem item in RadioButtonList1.Items) { if (item.Selected) { SqlConnection con = new SqlConnection(connecst); SqlCommand cmd = new SqlCommand(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "Insert into UserResponses values(@QuestionID,@Answer)"; //simple hiden field no repeater cmd.Parameters.AddWithValue("@UserID", UId); cmd.Parameters.AddWithValue("@QuestionID", Qid); cmd.Parameters.AddWithValue("@Answer", ans); cmd.Connection = con; con.Open(); cmd.ExecuteNonQuery(); con.Close(); } }