Tag: datatable

将XML文件加载到DataTable(而不是从数据库)

我正在考虑更改我的应用程序以将其xml格式数据文件加载到DataTables(和DataSet?)而不是将它们反序列化为类。 我可以使用xsd.exe生成数据集,但我没有运气找到任何显示如何使用它的示例。 使用xsd文件作为访问数据库表的中介,我的Google搜索已经无可救药地被阻塞了。 由于我的应用程序保存数据文件而不是查询数据库,因此对我来说没有任何用处。

LINQ在DataTable上选择distinct不起作用

我有以下数据 – 让我们说名为MyTable : Col1: Col2: Col3: Col4: 1 abc def 2 abc def ghi 1 abc def 3 abc def 1 abc def 而我正试图获得不同的行: Col1: Col2: Col3: Col4: 1 abc def 2 abc def ghi 3 abc def 我尝试了以下LINQ语句: MyTable = (From dr As DataRow In MyTable Select dr).Distinct.CopyToDataTable 但它正在将重复行返回原始数据表返回给我。 我做错了什么以及如何获得我想要的输出?

C#数据表十进制精度

我有这个代码来向datatable添加新列: DataColumn col = new DataColumn(“column”,typeof(decimal)); col.Caption =“专栏”; mytable.Columns.Add(COL); 如何为此列指定小数精度,以便值始终采用我希望的格式?

如何从会话对象将ListBox绑定到DataTable?

我有一个会话对象,其中包含我上一页的DataTable,我想将此DataTable绑定到ListBox。 我这样做了: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session[“bestStocks”] !=null) { DataTable dt = new DataTable(); dt = (DataTable)Session[“bestStocks”]; DataView dv = new DataView(dt); BestStockslb.DataSource = dt; BestStockslb.DataBind(); } } } 我得到这个结果: 有什么建议吗? 谢谢,liron

比较两个数据行

我有一个数据表,里面有多行。 我还有一行,我想检查这一行是否与数据表中现有行重复。 所以我尝试过: DataTable dataTable = GetTable(); if (dataTable.Rows.Count > 1) { for (int i = 0; i < dataTable.Rows.Count; i++) { var dataRow = dataTable.Rows[i]; if (dt.Rows.Contains(dataRow) && dt.Rows.Count != 0) // Giving error continue; dt.ImportRow(dataRow); return dataRow; } } 这里,我的dataTable也是第一次为null / empty。 但它给出的错误是: 表没有主键。 任何人都可以帮助我。 如果需要其他代码,请注释。

CSV字符串到DataTable

我有以下字符串,我想将其转换为DataTable “Id,Name ,Dept\r\n1,Mike,IT\r\n2,Joe,HR\r\n3,Peter,IT\r\n” 我可以使用String.Split创建它并迭代集合。 但我需要有效的方法(使用C#4.0function)如何使用LINQ或lambda创建表。

如果数据表的主键是两列,可以使用DataTable.Contains(对象键)吗?

如果是这样的话?

DataTable.ImportRow不添加行

我正在尝试创建一个DataTable,然后添加几行。 这是我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; namespace thisNamespace { class Program { static void Main(string[] args) { DataTable dt=new DataTable(); dt.Columns.Add(“XYZID”); DataRow dr=dt.NewRow(); dr[“XYZID”]=123; dt.ImportRow(dr); dr[“XYZID”] = 604303; dt.ImportRow(dr); } } } 当我逐步完成程序时, dr已成功初始化并填充了值,但是在ImportRow(dr) , dt的行数仍为0.我觉得我必须遗漏一些明显的东西。 这里出了什么问题?

查找重复并将记录合并到单个数据表c#中

我能够从DataTable行中找到重复项。 如下: var groups = table.AsEnumerable() .GroupBy(r => new { c1 = r.Field(“Version”), }); var tblDuplicates = groups .Where(grp => grp.Count() > 1) .SelectMany(grp => grp) .CopyToDataTable(); 现在,我想将所有重复记录合并为单个,并将其与值列值相加。 非常像以下内容: 具有重复项的DataTable: Version Value 1 2 2 2 2 1 1 3 2 1 3 2 没有重复的DataTable和值总和: Version Value 1 5 2 4 3 2 我知道这个链接是在reflection的帮助下完成的。 http://forums.asp.net/t/1570562.aspx/1 […]

在PostBack之后在GridView中保留DataSource

所以我在ASPX页面中有一个GridView。 当我单击它会绑定数据表,如下所示: theDataTable = GetAllTheRecords(); gvTheGridView.DataSource = theDataTable; gvTheGridView.DataBind(); 注意: theDataTable是一个成员 private DataTable theDataTable; 这按预期工作。 现在,在很好地显示GridView之后,我想将数据导出为CSV,所以我现在单击运行代码的 : exportToCsv(theDataTable); 但theDataTable为null。 所以我试过了 exportToCsv(gvTheGridView.DataSource) 哪个也是null。 持久化这些数据的标准方法是什么? 我真的不想再次点击数据库,因为它是一个相当长的SPROC并且用户已经等了一次。 提前致谢!