⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addroom.aspx.cs

📁 物业管理系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


public partial class admin_Default2 : System.Web.UI.Page
{


   BaseClass bc = new BaseClass();
   static DataTable dttable = new DataTable();
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Convert.ToString(Session["UID"]) == "")
        {
            Response.Redirect("login.aspx");

        }


    
           if(dttable.Columns.Count==0)
            {
                
                dttable.Columns.Add("ID", typeof(int));//ID
                dttable.Columns.Add("sunny", typeof(string));//朝向
                dttable.Columns.Add("sunnyName", typeof(string));//朝向名称
               
                dttable.Columns.Add("indoor", typeof(string));//房间类型
                dttable.Columns.Add("indoorName", typeof(string));//房间名称

                dttable.Columns.Add("roomUse", typeof(string));//用途
                dttable.Columns.Add("roomUseName", typeof(string));//用途名称

                dttable.Columns.Add("roomFormat", typeof(string));//装修标准
                dttable.Columns.Add("roomFormatName", typeof(string));//装修名称

                dttable.Columns.Add("buildarea", typeof(double));//面积
                dttable.Columns.Add("usearea", typeof(double));//使用面积
               
             
                
                DataColumn[] key ={ dttable.Columns["ID"] };
                dttable.PrimaryKey = key;
             }
             if ( ! IsPostBack)
             {
                 //将数据绑定到下拉列表框
                 bc.ExecDropDownList(pav, "select * from pavilion", "Name", "paID");//楼宇
                 bc.ExecDropDownList(cell, "select * from type where type='DY'", "name", "code");//单元
                 bc.ExecDropDownList(sunny, "select * from type where type='CX' order by code", "name", "code");//朝向

                 bc.ExecDropDownList(indoor, "select * from type where type='GG' order by code", "name", "code");//规格
                 bc.ExecDropDownList(roomuse, "select * from type where type='GN' order by code", "name", "code");//功能用途

                 bc.ExecDropDownList(roomformat, "select * from type where type='ZX' order by code", "name", "code");//装修标准
                
                 this.bind();

             }
    
    
   
           
 }
        
 
    public void bind()
    {
      //将表格内容绑定到GridWiew
       
            GridView1.DataSource = dttable;
            GridView1.DataBind();
            
       
    }
    //创建临时单元房间

    protected void Button1_Click(object sender, EventArgs e)
    {
        //检查楼宇是否小于此楼的层数
        string sql1 = "select layer from pavilion where PaID=" + pav.SelectedItem.Value+ "";

        int pavlayer = (int)bc.ExecCscalar(sql1);
        if (Convert.ToInt32(TxtEnd.Text) > pavlayer)
        {
            Response.Write("<script>alert('楼层已超过实际层数大小');</script>");
            return;
        }

        int cellnum =Convert.ToInt32( Txtcellnum.Text);
        int i;
        if (cellnum > 0)
        {

            dttable.Rows.Clear();
            for (i = 1; i <= cellnum; i++)
            {
                
                DataRow drow = dttable.NewRow();
                drow[0] = i;

                drow[1] = sunny.SelectedItem.Value;//朝向
                drow[2] = sunny.SelectedItem.Text;//朝向名称
                drow[3] = indoor.SelectedItem.Value;//房间类型
                drow[4] = indoor.SelectedItem.Text;//房间类型名
                drow[5] = roomuse.SelectedItem.Value;//用途
                drow[6] = roomuse.SelectedItem.Text;//用途名称
                drow[7] = roomformat.SelectedItem.Value;//装修标准
                drow[8] = roomformat.SelectedItem.Text;//标准名称

                          
                dttable.Rows.Add(drow);

                
            }
            this.bind();
        }
    }


    //更新创建的表格
    protected void Button2_Click(object sender, EventArgs e)
    {
        int updateRow = Convert.ToInt32(TxtRow.Text);//更新行的序号,0则表示更新所有行

        DataRowCollection drowc;//行的集合
        DataRow drow;//行
        int i;
        drowc = dttable.Rows;//获得创建的临时表的所有行

        

        if (drowc.Count == 0)//判断是否创建了单元表
        {
            Response.Write("<script>alert('新先创建房间!');</script>");
            return;
        }
       
        if (updateRow > drowc.Count)//判断行的值是否在于楼宇的层数
        {
            Response.Write("<script>alert('更新行输入过大!');</script>");
            return;
        }
        if (updateRow != 0)//更新行内用户输入数字不为0,表示更新指定行
        {
            if (drowc.Contains(updateRow))//更新行的主键是否包含更新行的值
            {
                drow = drowc.Find(updateRow);
               
                drow[1] = sunny.SelectedItem.Value;//朝向
                drow[2] = sunny.SelectedItem.Text;//朝向名称
                drow[3] = indoor.SelectedItem.Value;//房间类型
                drow[4] = indoor.SelectedItem.Text;//房间类型名
                drow[5] = roomuse.SelectedItem.Value;//用途
                drow[6] = roomuse.SelectedItem.Text;//用途名称
                drow[7] = roomformat.SelectedItem.Value;//装修标准
                drow[8] = roomformat.SelectedItem.Text;//标准名称
                drow[9] = Convert.ToDecimal(Txtarea.Text);//建筑面积
                drow[10] = Convert.ToDecimal(txtusearea.Text);//使用面积
                if (drow.HasErrors)
                {
                    dttable.RejectChanges();//有错误刚回流
                }
                else
                {
                    dttable.AcceptChanges();
                }
               
            }
           

           
           
        }
        else   //更新行用户输入数字为0,表示更新所有行
        {
          
            for (i = 1; i <= drowc.Count; i++)
            {
               
                if (drowc.Contains(i))
                {
                    drow = drowc.Find(i);
                    
                    drow[1] = sunny.SelectedItem.Value;//朝向
                    drow[2] = sunny.SelectedItem.Text;//朝向名称
                    drow[3] = indoor.SelectedItem.Value;//房间类型
                    drow[4] = indoor.SelectedItem.Text;//房间类型名
                    drow[5] = roomuse.SelectedItem.Value;//用途
                    drow[6] = roomuse.SelectedItem.Text;//用途名称
                    drow[7] = roomformat.SelectedItem.Value;//装修标准
                    drow[8] = roomformat.SelectedItem.Text;//标准名称
                    drow[9] = Convert.ToDecimal(Txtarea.Text);//建筑面积
                    drow[10] = Convert.ToDecimal(txtusearea.Text);//使用面积
                    if (drow.HasErrors)
                    {
                        dttable.RejectChanges();//有错误刚回流
                    }
                    else
                    {
                        dttable.AcceptChanges();
                    }

                }


            }
        }
        this.bind();
           
        }
   //清除表格内容

    protected void Button4_Click(object sender, EventArgs e)
    {
        dttable.Rows.Clear();
        this.bind();
    }



    //将数据临时表的内容绑定到数据库中

    protected void save_Click(object sender, EventArgs e)
    {
       
        string pavID = pav.SelectedItem.Value;//楼宇编号
        string cellID = cell.SelectedItem.Value;//单元编号
        int startfloor = Convert.ToInt32(TxtFrom.Text);//开始                             
        int endfloor = Convert.ToInt32(TxtEnd.Text);//桉层结束
        string beginstring = Txtbeginstring.Text;//前缀

        string code = pavID + cellID; //判断是否存在重复的单元
        

       DataRowCollection mydrowc = dttable.Rows;
       

       // 判断楼层范围及前缀是否为空
        //if (TxtFrom.Text == "" && TxtEnd.Text == "" && beginstring == "")
        //{

        //    Response.Write("<script>alert('楼宇范围及前缀不为空!');</script>");
        //    return;
        //}


       if (startfloor > endfloor)
       {
           Response.Write("<script>alert('楼宇范围内小到大排列!');</script>");
           return;
       }
        if (mydrowc.Count == 0)
        {
            Response.Write("<script>alert('新先创建单元房间!');</script>");
            return;
        }


        //检查楼宇内单元是否重复生成
          int codelength = code.Length;
          string sql = "select count(*) from homehold where left(Code," + codelength + ")='" + code + "'";

          //Response.Write(sql);
          //Response.End();
      int count=(int)bc.ExecCscalar(sql);
      if (count > 0)
      {

          Response.Write("<script>alert('存在重复的单元信息,数据保存失败!');</script>");
          return;
      }


     //检查楼宇的层数是否和实际输入的相同
        string sql1="select layer from pavilion where PaID="+pavID+"";
       
        int pavlayer = (int)bc.ExecCscalar(sql1);
        if (endfloor > pavlayer)
        {
            Response.Write("<script>alert('楼层已超过实际层数大小');</script>");
            return;
        }

      //将表格内数据插入数据库中

        ArrayList insertsqls = new ArrayList();
        string floor,num;
        for (int i = startfloor; i <= endfloor; i++)
        {
          foreach(DataRow drow in mydrowc)
          {

              if (i < 10)
              {
                  floor = "0" + i.ToString();//层数小于10则前加个0
              }
              else
              {
                  floor = i.ToString();
              }
              if (Convert.ToInt32(drow[0]) < 10)
              {
                  num = "0" + drow[0].ToString();//序号小于10,前加个0
              }
              else
              {
                  num = drow[i].ToString();
              }
              string roomCode=pavID+cellID+floor+num;//房间编号(12)=楼宇编号(4)+单元编号(2)+层数(2)+序号(2)
              string  ownerID=beginstring+floor+num;//单元名称=前缀+层(2)+序号(2)
              //Response.Write(roomCode+"<br>");
              //Response.Write(ownerID);
              //Response.End();
             
              string sunnyID = drow[1].ToString();//朝向ID
              string indoorID = drow[3].ToString();//类型ID
              string roomuse = drow[5].ToString();
              string roomformat = drow[7].ToString();
             

              string buildarea = drow[9].ToString();//建筑面积
              string usearea = drow[10].ToString();//使用面积


              //Response.Write(i.ToString() + sunnyID + " " + indoorID + " " + buildarea + " " + usearea + "<br>");
              //Response.End();
              string insertsql = "insert into room(Code,ownerID,paID,cellID,sunnyID,indoorID,roomUse,roomFormat,buildarea,usearea,state) values('" + roomCode + "','" + ownerID + "','";
              insertsql=insertsql+pavID+"','"+cellID+"','"+ sunnyID + "','" + indoorID + "','" + roomuse + "','" + roomformat + "'," + buildarea + "," + usearea + ",'00')";
             
              insertsqls.Add(insertsql);

             
             

          }
        }
        
        
       //检杳所有的SQL语句
        //int index1 = 1;
        //foreach (string strsql in insertsqls)
        //{
        //    Response.Write(index1.ToString() + "</br>" + strsql + "<br>");
        //    index1++;
        //}
        //Response.End();


        if (bc.ExecSQLTrans(insertsqls))
        {
            Response.Write("<script language=javascript>alert('导入数据库成功!');location='addroom.aspx'</script>");
            return;
        }
        else 
        {
            Response.Write("<script language=javascript>alert('导入失败,请重试!');location='addroom.aspx'</script>");
            return;
        }
    
      

    }

  
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -