请教各位一个关于webform的问题,高分

jcxpy910 2016-05-11 11:48:31
如图,怎么实现在点击提交按钮后,将所有数据都添加进数据库。现在点击提交后只能加入第一行的。。。就是批量添加到数据库,请各位大神给个参考的代码,谢谢啦

添加的代码:
 public static void InsertAnswerInfo_DAL(int questionnaireID, int userID,string ks, string marks, string text, string m1, string m2, string m3, string m4)
{
string cmdText = "insert into [test] (QuestionnaireID,UserID,科室,工作态度,劳动纪律,服务意识,协调配合,工作作风,执行力) values ('" +
questionnaireID + "','" + userID + "','" + ks + "','" + m1 + "','" + marks + "','" + text + "','" + m2 + "','" + m3 + "','" + m4 + "')";
DBHelper.SqlExecuteNonQuery(cmdText, null, CommandType.Text);
}

新入求帮助。
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2016-05-12
  • 打赏
  • 举报
回复
这种就是 foreach包裹 InsertAnswerInfo_DAL方法。
  • 打赏
  • 举报
回复
我的意思是循环取值,明显你的思路跟我的思路就不一样,你应该是
foreach (DataListItem item in this.DataListSingle.Items)
{
 DropDownList rb1 = (DropDownList)item.FindControl("DropDownList2");
var ks = rb1.SelectedText;
//var m1 = ***
BLL.AnswerBLL.InsertAnswerInfo_BLL(questionnaireID, userID,ks,m1, marks, text, m2, m3, m4);
}
jcxpy910 2016-05-12
  • 打赏
  • 举报
回复
@娃都会打酱油了 版主,再给点代码提示吧,我这个应该怎么修改啊
jcxpy910 2016-05-12
  • 打赏
  • 举报
回复
写了个方法,但是却是把6行数据插入到一个单元格里面了。怎么才能在数据库中插入到6行呢? web页面的调用插入的代码如下:

            if (questionnaireID!=0&&userID!=0)
            {
                //求总分
              //  int marks = 0;
                string marks=test();
              
                string m2 = "manyi2";
                string m3 = "manyi3";
                string m4 = "manyi4";
                string m1 = "manyi5";
             //  Single_Marks(ref marks);
              //  Multiple_marks(ref marks);
               
                //主观题题目和内容
                string text= "mm";
                
             string ks = "aa";
            // string OptionA = AAA();
               // string OptionB = AAA();
              //  string OptionC = AAA();
                //在T_Answer表中插入用户所做试卷信息
                
                BLL.AnswerBLL.InsertAnswerInfo_BLL(questionnaireID, userID,ks,m1, marks, text, m2, m3, m4);
                Response.Write("<script>window.alert('问卷结果提交成功!');location.href='UserQuestionnaireContents.aspx?UserID=" + userID + "'</script>");
                
                //Response.Write("<script>window.alert('选择题:" + marks + "主观题:" + text + "');location.href='UserQuestionnaireContents.aspx?UserID=" + userID + "'</script>");
            }
            else
            {
                Response.Write("<script>window.alert('不存在用户或问卷!');location.href='UserQuestionnaireContents.aspx?UserID=" + userID + "'</script>");
            }
        }
    }
test方法:
private string test()
   {
       StringBuilder marks = new StringBuilder();
       int i = 1;
       foreach (DataListItem item in this.DataListSingle.Items)
        {


            DropDownList rb1 = (DropDownList)item.FindControl("DropDownList2");
         marks.AppendFormat(rb1.Text, i++, rb1.Text);
        }
        return marks.ToString();
    }
SoulRed 2016-05-11
  • 打赏
  • 举报
回复
小伙子如果真想深入。可以参考下entity framework
  • 打赏
  • 举报
回复
for(var i=0;i<6;i++)
{
var ddl1 = this.FindControl("工作态度"+i.ToString());
string m1 = dd1.SelectedValue;
//其他代码
//最后调用InsertAnswerInfo_DAL
}
只是伪代码,用于提供思路
jcxpy910 2016-05-11
  • 打赏
  • 举报
回复
给个参考的代码呗,用for循环语句的。。。 @feng19921114
小世界大不同 2016-05-11
  • 打赏
  • 举报
回复
给你两个思路: 1.每一行都写一条数据库语句。 2.文本框命名的时候给点规律,然后用for循环,把数据库语句放for循环里
小世界大不同 2016-05-11
  • 打赏
  • 举报
回复
你的数据库语句只执行了一次,就只有一条记录了。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧