在本文中,将学习如何在Visual Studio中创建数据库和表,并使用GridView控件在Web页面上显示数据。将通过以下步骤来实现这个目标:
步骤1:创建数据库和表
首先,需要在Visual Studio中创建一个名为"MRooms"的数据库,并在该数据库中创建一个名为"Rooms"的表。可以使用以下SQL命令来实现:
CREATE DATABASE MRooms;
GO
USE MRooms;
CREATE TABLE rooms (
ID int IDENTITY(1,1000) NOT NULL,
Name varchar(10),
Location varchar(10),
Description varchar(100)
);
接下来,需要向"Rooms"表中插入一些数据。可以使用以下SQL命令来实现:
INSERT INTO rooms (Name,Location,Description)
VALUES ('Room 1', '1st Floor', 'Big room with 15 sits'),
('Room 2', '2nd Floor', 'Small Room'),
('Room 3', '3rd Floor', 'Managerial Meeting Room');
步骤2:创建Web页面并显示数据
接下来,需要在Visual Studio中创建一个新的Web页面,用于显示"Rooms"表中的数据。可以通过以下步骤来实现:
1. 在解决方案资源管理器中,右键单击"MeetingRoom"项目,然后选择"添加" -> "新建项"。 2. 在弹出的对话框中,选择"Web表单(带母板页)",将其命名为"Rooms.aspx",然后点击"添加"。
在"Rooms.aspx"页面中,将使用GridView控件来显示数据。可以通过以下步骤来实现:
1. 从工具箱中拖放GridView控件到页面上。 2. 右键单击GridView控件,然后选择"添加数据源"。 3. 在弹出的对话框中,选择"数据库",然后创建一个新的连接。 4. 在"服务器名称"中输入"."(表示使用本地服务器),在"数据库"下拉列表中选择之前创建的"MRooms"数据库。 5. 按照提示完成剩余步骤。
现在,当运行应用程序时,应该能够在GridView控件中看到"Rooms"表中的数据。
步骤3:手动加载数据
虽然使用数据源向导可以方便地加载数据,但也可以手动编写代码来实现。以下是如何在"Rooms.aspx"页面的代码后台中实现的示例:
1. 打开"Rooms.aspx"页面的源视图,删除所有内容。
2. 从工具箱中拖放GridView控件到页面上。
3. 在代码后台中,找到"page_load"函数(每次页面加载时都会调用)。
4. 在"page_load"函数中,编写以下代码:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MeetingRoomsConnectionString"].ConnectionString);
string cmdText = "SELECT * FROM Rooms order by Id desc";
SqlDataAdapter adp = new SqlDataAdapter(cmdText, con);
DataSet ds = new DataSet();
adp.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
在编写上述代码之前,请确保在文件顶部添加以下命名空间:
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
现在,当运行应用程序时,应该能够在GridView控件中看到"Rooms"表中的数据。
步骤4:添加新房间
接下来,将创建一个新的Web表单,用于插入新的房间记录。以下是如何实现的步骤:
1. 在解决方案资源管理器中,右键单击项目,然后选择"添加" -> "新建项"。 2. 在弹出的对话框中,选择"Web表单(带母板页)",将其命名为"NewRoomForm.aspx",然后点击"添加"。
在"NewRoomForm.aspx"页面中,将使用TextBox控件来输入新的房间信息,并使用Button控件来提交数据。可以通过以下步骤来实现:
1. 从工具箱中拖放三个TextBox控件和Button控件到页面上。
2. 双击Button控件,在代码后台中编写以下事件处理函数:
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MeetingRoomsConnectionString"].ConnectionString);
string cmdText = "INSERT INTO Rooms (Name,Location,Description) VALUES (@Name,@Location,@Description)";
SqlCommand cmd = new SqlCommand(cmdText, con);
cmd.Parameters.AddWithValue("@Name", TextBox1.Text);
cmd.Parameters.AddWithValue("@Location", TextBox2.Text);
cmd.Parameters.AddWithValue("@Description", TextBox3.Text);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd.ExecuteNonQuery();
con.Close();
Response.Redirect("/Rooms");
}
在编写上述代码之前,请确保在文件顶部添加以下命名空间:
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
现在,当运行应用程序并输入新的房间信息后,点击按钮,应该能够在"Rooms"表中看到新插入的记录。
步骤5:使用强类型数据集
虽然手动编写代码可以完成任务,但Microsoft提供了一种更简单的方法,即使用强类型数据集。以下是如何实现的步骤:
1. 在解决方案资源管理器中,右键单击项目,然后选择"添加" -> "新建项"。 2. 在弹出的对话框中,选择"数据集",将其命名为"MeetingRoomsDataset.xsd",然后点击"添加"。 3. 在"Server Explorer"中,找到连接字符串。如果没有,可以通过右键单击数据连接并选择"添加连接"来创建新的连接。 4. 使用"."作为服务器,选择"MRooms"数据库。 5. 将"Rooms"表拖放到数据集窗口中,并保存(Ctrl+S)。
现在,可以将强类型数据集与GridView控件连接起来。以下是如何在"Rooms.aspx"页面中实现的步骤:
1. 打开"Rooms.aspx"页面。 2. 在设计视图中,单击GridView控件顶部的箭头。 3. 单击"添加新数据源",选择"对象",然后单击"下一步"。 4. 确保在下拉列表中选中"仅显示数据组件",然后选择自动生成的"roomsTableAdapter"。 5. 清除代码后台中的"page_load"处理函数中的所有内容。
现在,当运行应用程序时,应该能够在GridView控件中看到"Rooms"表中的数据。这意味着Microsoft为生成了连接数据库、打开连接、执行SQL查询、填充数据集并将其绑定到GridView的代码。
步骤6:使用强类型数据集插入房间
接下来,将使用强类型数据集来插入新的房间记录。以下是如何在"NewRoomForm.aspx"页面中实现的步骤:
1. 打开之前创建的"MeetingRoomsDataset.xsd"文件。 2. 右键单击"roomTableAdapter"(位于"Rooms"表的底部部分)-> "添加查询",选择"插入",然后单击"完成"。 3. 打开"NewRoomForm.aspx"页面,并在代码后台中清除按钮点击处理函数中的所有内容(之前手动添加的代码)。
在函数上方插入以下代码:
roomsTableAdapter rta = new roomsTableAdapter();
在按钮点击处理函数中插入以下代码:
rta.Insert(TextBox1.Text, TextBox2.Text, TextBox3.Text);
Response.Redirect("/rooms");
在文件顶部添加以下命名空间:
using MeetingRooms.MeetingRoomsDatasetTableAdapters;
现在,当运行应用程序并输入新的房间信息后,点击按钮,应该能够在"Rooms"表中看到新插入的记录。所做的就是用一行代码替换了所有手动编写的代码。