Tag: datatable

如何从文本文件中读取数百万行并快速插入表中

我已经通过插入200万行快速链接到SQL Server ,发现我可以通过使用批量插入来完成此操作。 所以我试图创建数据表(代码如下),但因为这是一个巨大的文件(超过300K行)我在我的代码中得到一个OutOfMemoryEexception : string line; DataTable data = new DataTable(); string[] columns = null; bool isInserted = false; using (TextReader tr = new StreamReader(_fileName, Encoding.Default)) { if (columns == null) { line = tr.ReadLine(); columns = line.Split(‘,’); } for (int iColCount = 0; iColCount < columns.Count(); iColCount++) { data.Columns.Add("Column" + iColCount, typeof(string)); } […]

如何在C#中“联合”2个或更多DataTable?

如何在C#中“联合”2个或更多DataTable? 两个表都具有相同的结构。 是否有任何内置function或我们应该手动执行?

DataTables vs IEnumerable

我正和另一位与我合作的程序员进行辩论。 对于数据库返回类型,是否有任何重要的内存使用或性能差异,或其他缺点应该使某人避免使用DataSets和DataTables并支持实现IEnumerable类型…反之亦然 我更喜欢返回实现IEnumerable ( List, T[] etc )的类型,因为它更轻量级,在访问属性时对对象强类型,允许有关底层类型的更丰富信息等。它们需要更多时间设置虽然手动使用数据读取器。 这些日子使用DataTables的唯一理由就是懒惰吗?

使用Linq从IEnumerable 中提取并存储在数据表中

我有一个如下所示的数据表 public static DataTable SetColumnHeaders(DataTable KeyDataTable) { KeyDataTable.Columns.Add(“First_Name”, typeof(string)); KeyDataTable.Columns.Add(“Last_Name”, typeof(string)); KeyDataTable.Columns.Add(“Address1”, typeof(string)); KeyDataTable.Columns.Add(“Address2”, typeof(bool)); KeyDataTable.Columns.Add(“City”, typeof(string)); KeyDataTable.Columns.Add(“State”, typeof(bool)); KeyDataTable.Columns.Add(“Zip”, typeof(string)); KeyDataTable.Columns.Add(“Zip4”, typeof(bool)); KeyDataTable.Columns.Add(“Match_File”, typeof(bool)); return KeyDataTable; } 我的目标是从xml中读取信息并将该特定数据存储到我的数据表中。 我为每个“Quote”都有一个单独的xml文件,所以我将向数据表添加一个新行。 我关心的xml部分如下: ‘- – – – com.agencyport – NONE default 2006-04-04T15:44:00 en-US – Applied Systems WinTam 7.1.0 – 81913CB5-3EAB-F158-EE24-5910F9BE9C26 – 7B010E52-44F2-487A-521B-9D1E3500C23D – – AP TEST TEST […]

C#DataTable更新多行

如何使用数据表进行多次更新? 我发现这个更新1行 我的代码: public void ExportCSV(string SQLSyntax, string LeFile, bool Is_Ordre, int TypeDonne) { try { using (var connectionWrapper = new Connexion()) { var connectedConnection = connectionWrapper.GetConnected(); SqlDataAdapter da = new SqlDataAdapter(SQLSyntax, connectionWrapper.conn); DataSet ds = new DataSet(); da.Fill(ds, “Emp”); DataTable dt = ds.Tables[“Emp”]; CreateCSVFile(dt, LeFile, Is_Ordre, TypeDonne); //Update all lines, it not save in […]

在DataTable已有数据后设置自动编号

我有以下代码将自动编号列添加到DataTable : public void AddAutoIncrementColumn(DataTable dt) { DataColumn column = new DataColumn(); column.DataType = System.Type.GetType(“System.Int32”); column.AutoIncrement = true; column.AutoIncrementSeed = 0; column.AutoIncrementStep = 1; dt.Columns.Add(column); } 但是,对于表中已有的所有行,此值将为空; 似乎只对添加此列后添加的新行触发AutoIncrement。 有没有办法为已存在的行设置自动编号值?

将一个数据表的列添加到另一个数据表

嘿所有人都需要帮助为这个表排序一个循环,似乎无法将一个工作示例应用于模型,无论如何它在这里。 我有2个数据表,每个数据表具有不同的数据和不同的值,唯一的共同值是日期。 第一个表包含我想要的所有内容,除了一列值(来自另一个表)所以我需要将此列合并到第一个表,而不是所有其他数据。 理想情况下,我想要的东西看起来像这样: DataTable tbl1; //Assume both are populated DataTable tbl2; tbl1.Columns.Add(“newcolumnofdata”) //Add a new column to the first table foreach (DataRow dr in tbl.Rows[“newcolumnofdata”]) //Go through each row of this new column { tbl1.Rows.Add(tbl2.Rows[“sourceofdata”]); //Add data into each row from tbl2’s column. tbl1.Columns[“date”] = tbl2.Columns[“date”]; //The date field being the same in both […]

如何将DataGrid绑定到DataTable所有代码?

如何在C#代码后面将DataGrid绑定到DataTable? (所有控件都是在运行时生成的,所以请不要XAML) 我尝试了Binding(),设置DataContext,设置ItemsSource,但都不起作用: /* Binding() fails */ Binding bind = new Binding(); bind.Source = dataset; bind.Path = new PropertyPath(“dataset.Tables”); datagrid.SetBinding(DataSet, bind); /* DataContext fails */ datagrid.DataContext = dataset.Tables; /* ItemsSource fails */ datagrid.ItemsSource = dataset.Tables; 我需要做的就是将DataGrid绑定到DataTable,因此当DataTable中添加了新行时,它将自动显示在DataGrid上。 我通过stackoverflow和谷歌搜索,但奇怪的是我找不到解决方案。

如何循环数据表中特定列的值?

我想循环遍历datatable中特定列的值? 任何人都可以请给C#编码?

C#如何将IEnumerable匿名列表转换为数据表

有许多解决方案可以将列表转换为使用reflection的DataTable ,这可用于转换匿名类型。 但是,它有很多匿名类型的列表,然后性能可能是一个问题。 这是从列表创建DataTable的唯一方法吗? 有更快的方法吗?