如何在c#中创建一个数据表?
我是这样做的:
DataTable dt = new DataTable();
dt.clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
我如何看到数据表的结构?
现在我想为Name添加ravi,为Marks添加500。我该怎么做呢?
如何在c#中创建一个数据表?
我是这样做的:
DataTable dt = new DataTable();
dt.clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
我如何看到数据表的结构?
现在我想为Name添加ravi,为Marks添加500。我该怎么做呢?
当前回答
你也可以传入一个对象数组,像这样:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
object[] o = { "Ravi", 500 };
dt.Rows.Add(o);
甚至:
dt.Rows.Add(new object[] { "Ravi", 500 });
其他回答
创建数据表:
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);
代码如下:
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");
除了其他答案。
如果你控制数据表的结构,有一个添加行的快捷方式:
//假设您有一个数据表,定义为示例中的dt dt.Rows。添加(“名称”、“商标”);
add()方法有一个重载,它接受一个对象的参数数组。此方法允许您根据需要传递任意数量的值,但它们必须与表中定义的列的顺序相同。
因此,虽然这是一种方便的添加行数据的方法,但使用它可能有风险。如果表结构改变,代码将失败。
问题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"]);
}
目前最简单的方法是创建一个DtaTable
DataTable table = new DataTable
{
Columns = {
"Name", // typeof(string) is implied
{"Marks", typeof(int)}
},
TableName = "MarksTable" //optional
};
table.Rows.Add("ravi", 500);