通过存储过程实现记录集的循环_PHP应用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

通过存储过程实现记录集的循环

作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0

本篇关键词:记录循环实现过程
黑客防线网安网讯:   在应用程序开发的时候,我们经常可能会遇到下面的应用,我们会通过查询数据表的记录集,循环每一条记录,通过每一条的记录集对另一张表进行数据进行操作,如插入与更新,我们现在假设有...

   在应用程序开发的时候我们经常可能会遇到下面的应用我们会通过查询数据表的记录集,循环每一条记录,通过每一条的记录集对另一张表进行数据进行操作,如插入与更新,我们现在假设有一个这样的业务:老师为所在班级的学生选课,选的课程如有哲学、马克思主义政治经济学、毛泽东思想概论、邓小平理论这些课,现在操作主要如下:
  1) 先要查询这些还没有毕业的这些学生的名单,毕业过后的无法进行选课;
  2) 在批量的选取学生的同时,还需要添加对应的某一门课程;
  3) 点添加后选课结束
  我们如果有SQL语句
  我们先建立三张表:

  create table Student --学生表
  (
  StudentId int not null, --学生ID
  StudentName VARCHAR2(30), --学生姓名
  StuentSN VARCHAR2(30), --学生学号
  StudentGradu int --学生是否毕业 0代表毕业,1代表未毕业
  )
  create table Subject --课程表
  (
  SubjectId int not null, --课程ID
  SubjectName VARCHAR2(20) --课程名称
  )
  create table SelSubject --选好课程表
  (
  SubjectId int not null, --课程ID
  StudentID int not null --学生ID
  )
  在实现上面的业务功能的时候,我们可能很多人一开始就在程序里面直接实现了,代码如下:
  --省略数据库连接
 
      DataTable dt = GetDs().Tables[0];
       int subjectid = Convert.ToInt32(this.DrpList.SelectedValue);
       if(dt.Rows.Count > 0)
       {
           Add(subjectid,Convert.ToInt32(dt.Rows[i][0].ToString()));
       }
       public DataSet GetDs()
       {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
            SqlCommand cmd = new SqlCommand("select studentid from Student where StudentGradu = 1", con);
            SqlDataAdapter dat = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            dat.Fill(ds);
            return ds;
        }
        public void Add(int subjectid,int studentinfoid)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into SelSubject(");
            strSql.Append("SubjectId,StudentId)");
            strSql.Append(" values (");
            strSql.Append("@SubjectId,@StudentId)");
            SqlParameter[] parameters = {
     new SqlParameter("@SubjectId", SqlDbType.Int,4),
     new SqlParameter("@StudentId", SqlDbType.Int,4)};
            parameters[0].Value = subjectid;
            parameters[1].Value = studentinfoid;
            DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
        }

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13660-1.html
网站维护教程更新时间:2012-03-30 04:38:20  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer