DataRelation的用法(1)

class Program
    {
        static void Main(string[] args)
        {
            SqlConnection thisConnection = new SqlConnection(
                  @"Data Source=.\SQLEXPRESS;" +
                  @"AttachDbFilename='C:\SQL Server 2000 Sample Databases\NORTHWND.MDF';"
                  +
                  @"Integrated Security=true;Connect Timeout=30;User Instance=true");


            DataSet thisDataSet = new DataSet();
            //为每一张表创建一个DataAdapter对象,然后填充DataSet
            SqlDataAdapter custAdapter = new SqlDataAdapter(
                "select * from Customers", thisConnection);
            SqlDataAdapter orderAdapter = new SqlDataAdapter(
                "select * from Orders", thisConnection);
            custAdapter.Fill(thisDataSet, "Customers");
            orderAdapter.Fill(thisDataSet, "Orders");
            //创建DataRelation对象并将其连接到DataSet上。注:Customers是主表,Orders是子表
            DataRelation custOrderRel = thisDataSet.Relations.Add("CustOrders",
                thisDataSet.Tables["Customers"].Columns["CustomerID"],
                thisDataSet.Tables["Orders"].Columns["CustomerID"]);


            foreach (DataRow custRow in thisDataSet.Tables["Customers"].Rows)
            {
                Console.WriteLine("Customer ID:" + custRow["CustomerID"] +
                    "Name:" + custRow["CompanyName"]);
                //给定父表中的一行,获取子表与其对应的所有行,如果父表的CustomerID为5,则下面这句可以翻译成
                //select * OrderID from Orders where CustomerID=5
                foreach (DataRow orderRow in custRow.GetChildRows(custOrderRel))
                {
                    Console.WriteLine("Order ID:" + orderRow["OrderID"]);
                }
            }
            thisConnection.Close();
            Console.WriteLine();
        }
    }

你可能感兴趣的:(sql,String,server,Security,user,Class,dataset)