📄 addroom.aspx.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 + -