datarelationexample.aspx
来自「asp.net专家200问(含源代码解决法案」· ASPX 代码 · 共 54 行
ASPX
54 行
<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<title>使用DataRelation类创建关系并利用父/子关系读取数据示例</title>
<script language=C# runat=server>
void Page_Load(object sender, System.EventArgs e)
{
// 连接字符串和 SQL 语句
string ConnString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
string Sql = "SELECT * FROM Customers; SELECT * FROM Orders";
// 创建 Connection 和 DataAdapter 对象
SqlConnection myConn = new SqlConnection(ConnString);
SqlDataAdapter sqlAdapter = new SqlDataAdapter(Sql, myConn);
// 填充数据
DataSet dataSet = new DataSet();
sqlAdapter.Fill(dataSet, "Table");
// 命名表名
dataSet.Tables[0].TableName = "Customers";
dataSet.Tables[1].TableName = "Orders";
// 创建 Customers 和 Orders 的父/子表关系
dataSet.Relations.Add("CustomersOrders", dataSet.Tables["Customers"].Columns["CustomerID"],
dataSet.Tables["Orders"].Columns["CustomerID"]);
// 使用 GetChildRows() 方法遍历子行
foreach(DataRow custRow in dataSet.Tables["Customers"].Rows)
{
myLabel.Text += "<b>Parent Row: " + custRow["CustomerID"] + " " + custRow["CompanyName"] + "</b><br>";
myLabel.Text += "Child Row: <br>";
foreach(DataRow orderRow in custRow.GetChildRows("CustomersOrders"))
{
myLabel.Text += " " + orderRow["OrderID"] + " " + orderRow["EmployeeID"] + "<br>";
}
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>使用DataRelation类创建关系并利用父/子关系读取数据示例</h3>
<asp:Label id="myLabel" runat="server"></asp:Label>
</form>
</body>
</HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?