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

我是这样做的:

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

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

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


当前回答

问题1:如何在c#中创建数据表?

回答1:

DataTable dt = new DataTable(); // DataTable created

// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");

注意:创建数据表后不需要Clear()。

问题2:如何添加行?

答案2:增加一行:

dt.Rows.Add("Ravi","500");

添加多行:使用ForEach循环

DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
    dt.Rows.Add(dr["Name"], dr["Marks"]);
}

其他回答

代码如下:

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");

创建数据表:

DataTable MyTable = new DataTable(); // 1
DataTable MyTableByName = new DataTable("MyTableName"); // 2

向表中添加列:

 MyTable.Columns.Add("Id", typeof(int));
 MyTable.Columns.Add("Name", typeof(string));

将行添加到数据表方法1:

DataRow row = MyTable.NewRow();
row["Id"] = 1;
row["Name"] = "John";
MyTable.Rows.Add(row);

将行添加到数据表方法2:

MyTable.Rows.Add(2, "Ivan");

将行添加到数据表方法3(以相同的结构从另一个表中添加行):

MyTable.ImportRow(MyTableByName.Rows[0]);

将行添加到数据表方法4(从另一个表中添加行):

MyTable.Rows.Add(MyTable2.Rows[0]["Id"], MyTable2.Rows[0]["Name"]);

将行添加到数据表方法5(在索引处插入行):

MyTable.Rows.InsertAt(row, 8);

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

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

问题1:如何在c#中创建数据表?

回答1:

DataTable dt = new DataTable(); // DataTable created

// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");

注意:创建数据表后不需要Clear()。

问题2:如何添加行?

答案2:增加一行:

dt.Rows.Add("Ravi","500");

添加多行:使用ForEach循环

DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
    dt.Rows.Add(dr["Name"], dr["Marks"]);
}

为此,您必须向数据表中添加数据箭头。

// Creates a new DataRow with the same schema as the table.
DataRow dr = dt.NewRow();

// Fill the values
dr["Name"] = "Name";
dr["Marks"] = "Marks";

// Add the row to the rows collection
dt.Rows.Add ( dr );