六、界面设计与代码1.登录界面输入已在数据库中的vip用户或普通用户的用户账号和密码,这里选择vip 用户,点击vip登录按钮,如图9所示:图9提示登录成功,单击确定进入主窗体主要代码如下:在引用空间添加:using System.Data.SqlClient;private void button2_Click(object sender, EventArgs e){ string userName = txtName.Text.Trim();string password = txtPwd.Text.Trim();string connString = @"Data Source=陈敏\SQL;Initial Catalog=Hourse_Renting;Integrated Security=True;Pooling=False";SqlConnection connection = new SqlConnection(connString);//获取用户名和密码匹配的行的数量的SQL语句string sql = String.Format("select count(*) from [User] where UserName='{0}' and如图10所示:图10添加代码如下:private void 退出CToolStripMenuItem_Click(object sender, EventArgs e){ Application.Exit(); }private void 帮助YToolStripMenuItem_Click(object sender, EventArgs e){ About ss = new About();ss.Show();tssMsg.Text = ss.Text; //在状态栏中显示操作内容}private void 入住管理ToolStripMenuItem_Click(object sender, EventArgs e){ Guest papeer = new Guest();papeer.Show();tssMsg.Text = papeer.Text; //在状态栏中显示操作内容 }private void 出租人信息管理ToolStripMenuItem_Click(object sender, EventArgs e) { roomshow gg = new roomshow ();gg.Show();tssMsg.Text = gg.Text; //在状态栏中显示操作内容}private void 退房ToolStripMenuItem_Click(object sender, EventArgs e){ checkout yc = new checkout();yc.Show();tssMsg.Text = yc.Text; //在状态栏中显示操作内容}private void 租房ToolStripMenuItem_Click_1(object sender, EventArgs e){ 租房 aa = new 租房();aa.Show();}private void 详细视图ToolStripMenuItem_Click_1(object sender, EventArgs e){ SVIEW SS = new SVIEW();SS.Show();}3.信息管理(1)单击“信息管理”下拉菜单选择“出租人信息”,选择要查找的表出租人信息表(boss)或者房屋信息表(house),以及查询字段(即条件)和内容,按姓名查询或者按房间号查询,弹出对应的窗体,如图11所示图11实现主要代码:private void 房产总表浏览_Load(object sender, EventArgs e){ string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";string sql = "SELECT * FROM house,boss where house.bossID=boss.bossID ";SqlConnection connection = new SqlConnection(connString);SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);DataSet dataSet = new DataSet();dataAdapter.Fill(dataSet, "Guest");dgvList.DataSource = dataSet.Tables[0];}private void btnSelect_Click(object sender, EventArgs e){ SqlConnection connection = new SqlConnection();SqlCommand command = new SqlCommand();string sql = String.Format("SELECT * FROM house WHERE {0}='{1}'", cboKey.Text, txtValue.Text);图12实现主要代码:SqlDataAdapter dataAdapter;DataSet dataSet;SqlConnection connection;private void button1_Click(object sender, EventArgs e){string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";connection = new SqlConnection(connString);string sql = "SELECT * FROM Guest";dataAdapter = new SqlDataAdapter(sql, connection);dataSet = new DataSet();dataAdapter.Fill(dataSet, "Guest");dgvGuest.DataSource = dataSet.Tables[0];}private void button2_Click(object sender, EventArgs e){SqlCommandBuilder bbuilder = new SqlCommandBuilder(dataAdapter);dataAdapter.Update(dataSet, "Guest");}(3)单击“客户详细信息”,显示的是已成功出租的客户信息和房屋信息(二者都来源于数据库视图),弹出对应窗体,如图13所示:图13主要代码如下SqlDataAdapter dataAdapter;DataSet dataSet;private void button1_Click(object sender, EventArgs e){ string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";SqlConnection connection = new SqlConnection(connString);string sql = "SELECT * FROM RoomInfo ";dataAdapter = new SqlDataAdapter(sql, connection);dataSet = new DataSet();dataAdapter.Fill(dataSet, "RoomINfo");dgvGuest.DataSource = dataSet.Tables[0];}private void button6_Click(object sender, EventArgs e){ string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";SqlConnection connection = new SqlConnection(connString);string sql1= "SELECTguestID,gname,house.houseID,Guest.bossID,takein,paytime,cash,price,hsite FROM house,Guest where Guest.houseID=house.houseID";dataAdapter = new SqlDataAdapter(sql1, connection);dataSet = new DataSet();dataAdapter.Fill(dataSet, "CustomerInfo");dataGridView1.DataSource = dataSet.Tables[0];}4.房产管理(1)单击单击“房产管理”下拉菜单选择“租房”,弹出对应窗体,在该窗体可以申请租房和显示未出租的房屋信息,若房屋不存在,则提示不存在,如图14所示:图14实现主要代码:private void button2_Click(object sender, EventArgs e){ string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";SqlConnection connection = new SqlConnection(connString);string sql = "SELECT * FROM house WHERE house.状态='未租' ";SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);DataSet dataSet = new DataSet();dataAdapter.Fill(dataSet, "RoomInfo");dgv1.DataSource = dataSet.Tables[0];}private void button1_Click(object sender, EventArgs e){ string connString = @"Data Source=陈敏\SQL;InitialCatalog=Hourse_Renting;Integrated Security=True;Pooling=False";SqlConnection connection = new SqlConnection(connString);string sql = String.Format("INSERT INTOGuest(guestID,cash,takein,houseID,bossID)VALUES('{0}','{1}','{2}','{3}','{4}')", textBox1.Text ,textBox2.Text , textBox3.Text , textBox4.Text ,textBox5.Text);SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);try{ connection.Open(); // 打开数据库连接SqlCommand command=new SqlCommand ();command.Connection = connection;mandText = sql; //设置 Command 对象要执行的SQL语句int count = command.ExecuteNonQuery();// 执行更新命令,返回值为更新的行数 if (count > 0){ MessageBox.Show("添加成功", "添加成功", MessageBoxButtons.OK, rmation);string sql2 = String.Format("UPDATE house SET house.状态='出租' WHERE houseID='{0}'",textBox4 .Text);SqlDataAdapter dataAdapter2 = new SqlDataAdapter(sql2, connection); } elseMessageBox.Show("添加失败", "添加失败", MessageBoxButtons.OK, rmation);}catch (Exception ex){MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}finally{connection.Close(); 关闭数据库连接 }}(2)单击单击“房产管理”下拉菜单选择“退房”,弹出对应窗体,在该窗体可以删除租房信息和显示已出租的房屋信息,单击“确认删除”就删除相应租房记录,如图16所示:图165.帮助单击单击“帮助”,弹出对应窗体,如图17所示:图176.退出单击“退出”,就退出系统。