📄 mydatarelation.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
namespace Example_8_3
{
/// <summary>
/// Summary description for MyDataRelation.
/// </summary>
public class MyDataRelation : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label SQLLabel;
protected System.Web.UI.WebControls.DataGrid myDataGrid;
private readonly string SQLCONNECTIONSTRING = ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"].ToString();
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
///创建DataRelation对象
CreateDataRelation();
}
}
private void CreateDataRelation()
{
///从数据库中获取表记录
String cmdText = "SELECT Staff.*,Role.* FROM Staff "
+ "INNER JOIN StaffRole ON Staff.Staff_ID = StaffRole.Staff_ID "
+ "INNER JOIN Role ON Role.Role_ID = StaffRole.Role_ID";
SqlConnection myConnection = new SqlConnection(SQLCONNECTIONSTRING);
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///执行数据库查询
myConnection.Open();
SqlDataReader dr = myCommand.ExecuteReader();
///创建DataTableStaff对象
DataTable dataTableStaff = new DataTable();
///添加新的数据列
dataTableStaff.Columns.Add("StaffID",typeof(int));
dataTableStaff.Columns.Add("StaffName",typeof(string));
dataTableStaff.Columns.Add("RealName",typeof(string));
dataTableStaff.Columns.Add("Birthday",typeof(DateTime));
dataTableStaff.Columns.Add("Email",typeof(string));
///创建DataTableStaff对象
DataTable dataTableRole = new DataTable();
///添加新的数据列
dataTableRole.Columns.Add("RoleID",typeof(int));
dataTableRole.Columns.Add("RoleName",typeof(string));
///创建DataTableStaff对象
DataTable dataTableStaffRole = new DataTable();
///添加新的数据列
dataTableStaffRole.Columns.Add("Staff_Staff_ID",typeof(int));
dataTableStaffRole.Columns.Add("Role_Role_ID",typeof(int));
///添加表的关系,即使用DataRelation对象
DataRelation relationStaff = new DataRelation("Staff_Staff",
dataTableStaff.Columns["StaffID"],
dataTableStaffRole.Columns["Staff_Staff_ID"]);
///添加表的关系,即使用DataRelation对象
DataRelation relationRole = new DataRelation("Role_Role",
dataTableRole.Columns["RoleID"],
dataTableStaffRole.Columns["Role_Role_ID"]);
///创建新的数据集
DataSet dataSet = new DataSet();
dataSet.Tables.Add(dataTableRole);
dataSet.Tables.Add(dataTableStaff);
dataSet.Tables.Add(dataTableStaffRole);
dataSet.Relations.Add(relationRole);
dataSet.Relations.Add(relationStaff);
while(dr.Read())
{
///添加dataTableStaff表新的数据行
DataRow rowStaff = dataTableStaff.NewRow();
rowStaff["StaffID"] = dr["Staff_ID"].ToString();
rowStaff["StaffName"] = dr["Staff_Name"].ToString();
rowStaff["RealName"] = dr["RealName"].ToString();
rowStaff["Birthday"] = dr["Birthday"].ToString();
rowStaff["Email"] = dr["Email"].ToString();
dataTableStaff.Rows.Add(rowStaff);
///添加dataTableRole表新的数据行
DataRow rowRole = dataTableRole.NewRow();
rowRole["RoleID"] = dr["Role_ID"].ToString();
rowRole["RoleName"] = dr["Role_Name"].ToString();
dataTableRole.Rows.Add(rowRole);
///添加dataTableStaffRole表新的数据行
DataRow rowStaffRole = dataTableStaffRole.NewRow();
rowStaffRole["Staff_Staff_ID"] = dr["Staff_ID"].ToString();
rowStaffRole["Role_Role_ID"] = dr["Role_ID"].ToString();
dataTableStaffRole.Rows.Add(rowStaffRole);
}
dr.Close();
myConnection.Close();
SQLLabel.Text = cmdText;
myDataGrid.DataSource = dataSet.Tables[1];
myDataGrid.DataBind();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -