如何在c#中创建一个数据表?

我是这样做的:

 DataTable dt = new DataTable();
 dt.clear();
 dt.Columns.Add("Name");
 dt.Columns.Add("Marks");

我如何看到数据表的结构?

现在我想为Name添加ravi,为Marks添加500。我该怎么做呢?


当前回答

目前最简单的方法是创建一个DtaTable

DataTable table = new DataTable
{
    Columns = {
        "Name", // typeof(string) is implied
        {"Marks", typeof(int)}
    },
    TableName = "MarksTable" //optional
};
table.Rows.Add("ravi", 500);

其他回答

添加一行。

DataRow row = dt.NewRow();
row["Name"] = "Ravi";
row["Marks"] = 500;
dt.Rows.Add(row);

看结构:

Table.Columns

除了其他答案。

如果你控制数据表的结构,有一个添加行的快捷方式:

//假设您有一个数据表,定义为示例中的dt dt.Rows。添加(“名称”、“商标”);

add()方法有一个重载,它接受一个对象的参数数组。此方法允许您根据需要传递任意数量的值,但它们必须与表中定义的列的顺序相同。

因此,虽然这是一种方便的添加行数据的方法,但使用它可能有风险。如果表结构改变,代码将失败。

DataTable dt=new DataTable();
DataColumn Name = new DataColumn("Name",typeof(string)); 

dt.Columns.Add(Name);
DataColumn Age = new DataColumn("Age", typeof(int));`

dt.Columns.Add(Age);

DataRow dr=dt.NewRow();

dr["Name"]="Kavitha Reddy"; 
dr["Age"]=24; 
dt.add.Rows(dr);
dr=dt.NewRow();

dr["Name"]="Kiran Reddy";
dr["Age"]=23; 
dt.Rows.add(dr);
Gv.DataSource=dt;
Gv.DataBind();

您可以在单行中添加Row

    DataTable table = new DataTable();
    table.Columns.Add("Dosage", typeof(int));
    table.Columns.Add("Drug", typeof(string));
    table.Columns.Add("Patient", typeof(string));
    table.Columns.Add("Date", typeof(DateTime));

    // Here we add five DataRows.
    table.Rows.Add(25, "Indocin", "David", DateTime.Now);
    table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
    table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
    table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
    table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);

代码如下:

DataTable dt = new DataTable(); 
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
DataRow _ravi = dt.NewRow();
_ravi["Name"] = "ravi";
_ravi["Marks"] = "500";
dt.Rows.Add(_ravi);

要查看结构(更确切地说,我将其重新定义为模式),可以执行以下操作将其导出到XML文件。

要只导出模式/结构,请执行以下操作:

dt.WriteXMLSchema("dtSchemaOrStructure.xml");

此外,您还可以导出您的数据:

dt.WriteXML("dtDataxml");