public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        CreateDataTable();
    }    /// <summary>
    /// 构造DataTable
    /// </summary>
    void CreateDataTable()
    {
        // 1 声明一个DataTable
        DataTable myDataTable = new DataTable("ParentTable");        // 2 生成一个列,并放入DataTable中
        DataColumn myDataColumn1 = new DataColumn();
        myDataColumn1.DataType = System.Type.GetType("System.Int32"); //该列的数据类型
        myDataColumn1.ColumnName = "学号";     //该列的名称
        myDataTable.Columns.Add(myDataColumn1);        // 3 生成第二个列,并放入DataTable中
        DataColumn myDataColumn2 = new DataColumn();
        myDataColumn2.DataType = System.Type.GetType("System.String"); //该列的数据类型
        myDataColumn2.ColumnName = "姓名";     //该列的名称
        myDataTable.Columns.Add(myDataColumn2);        // 4 将"学号"列作为DataTable的主键
        DataColumn[] PrimaryKeyColumns = new DataColumn[1];
        PrimaryKeyColumns[0] = myDataTable.Columns["学号"];
        myDataTable.PrimaryKey = PrimaryKeyColumns;        // 5 向DataTable中插入一行数据
        DataRow myDataRow1 = myDataTable.NewRow();
        myDataRow1["学号"] = 1;
        myDataRow1["姓名"] = "张三";
        myDataTable.Rows.Add(myDataRow1);        // 6 继续插入第二行数据
        DataRow myDataRow2 = myDataTable.NewRow();
        myDataRow2["学号"] = 2;
        myDataRow2["姓名"] = "李四";
        myDataTable.Rows.Add(myDataRow2);   // 4 将"学号"列作为DataTable的主键,偶想改成用学号和姓名的组合主键的例子,有谁会么?

解决方案 »

  1.   

    另外,这里
    // 1 声明一个DataTable
            DataTable myDataTable = new DataTable("ParentTable");
    中的ParentTable有啥用?
      

  2.   

    问题1:设置学号和姓名为组合主键        // 4 将"学号"列作为DataTable的主键
             DataColumn[] PrimaryKeyColumns = new DataColumn[2];
            PrimaryKeyColumns[0] = myDataTable.Columns["学号"];
            PrimaryKeyColumns[1] = myDataTable.Columns["姓名"];        
            myDataTable.PrimaryKey = PrimaryKeyColumns;
    问题2:
    给Datatable取了个名字,以后你想调用这个datatable的时候根据名字可以取到
      

  3.   

    首先谢谢大大,问题2不太明白。能否给点代码看看如何用名字调用这个datatable呢?谢谢。
      

  4.   

    问题2 例子:            DataSet ds = new DataSet();
                int i = ds.Tables.Count;
                DataTable dt1 = new DataTable("1");
                DataTable dt2 = new DataTable("2");
                ds.Tables.Add(dt1);
                ds.Tables.Add(dt2);
                ds.Tables["1"];//根据名字取datatabledataset中有多个datatable的时候可以根据datatable的名字取到你想要的datatable