标签: datatable

如何在此C#程序中打印列名?

我拼凑了一个C#程序,它接受一个.csv文件并将其写入DataTable.使用这个程序,我可以循环遍历每一行DataTable并打印出行中包含的信息.控制台输出如下所示:

--- Row ---
Item: 1
Item: 545
Item: 507
Item: 484
Item: 501
Run Code Online (Sandbox Code Playgroud)

我想在每个值旁边打印列名,以便它看起来像这样:

--- Row ---
Item: 1   Hour
Item: 545 Day1 KW
Item: 507 Day2 KW
Item: 484 Day3 KW
Item: 501 Day4 KW
Run Code Online (Sandbox Code Playgroud)

有人可以查看我的代码并告诉我我可以添加什么以便打印列名称吗?我对C#很新,所以如果我忽视了某些事情,请原谅我.

这是我的代码:

// Write load_forecast data to datatable.
DataTable loadDT = new DataTable();
StreamReader sr = new StreamReader(@"c:\load_forecast.csv");                      

string[] headers = sr.ReadLine().Split(',');
foreach (string header in headers)
{
    loadDT.Columns.Add(header); // I've added the column headers here.
} …
Run Code Online (Sandbox Code Playgroud)

c# datatable datarow datacolumn

59
推荐指数
3
解决办法
25万
查看次数

如何选择数据表中列的最小值和最大值?

对于以下数据表列,获取最小值和最大值的最快方法是什么?

AccountLevel  
0  
1  
2  
3 
Run Code Online (Sandbox Code Playgroud)

.net c# datatable select

58
推荐指数
6
解决办法
19万
查看次数

无法绑定到'dataSource',因为它不是'table'的已知属性

我是角度5开发的新手.我正在尝试使用此处提供的示例开发带有角度材质的数据表:" https://material.angular.io/components/table/examples ".

我收到一个错误说 Can't bind to 'dataSource' since it isn't a known property of 'table'.

在此输入图像描述

请帮忙.

datatable angular-material angular

53
推荐指数
7
解决办法
6万
查看次数

在WCF/.NET中返回DataTable

我有一个WCF服务,我想从中返回一个DataTable.我知道这往往是一个备受争议的话题,至于返回DataTables是否是一个好习惯.让我们暂时搁置一下.

当我从头开始创建DataTable时,如下所示,没有任何问题.该表已创建,填充并返回给客户端,一切都很好:

[DataContract]
public DataTable GetTbl()
{
    DataTable tbl = new DataTable("testTbl");
    for(int i=0;i<100;i++)
    {
        tbl.Columns.Add(i);
        tbl.Rows.Add(new string[]{"testValue"});
    }
    return tbl;
}
Run Code Online (Sandbox Code Playgroud)

但是,只要我出去打开数据库来创建表,如下所示,我得到一个CommunicationException"底层连接已关闭:连接意外关闭."

[DataContract]
public DataTable GetTbl()
{
    DataTable tbl = new DataTable("testTbl");
    //Populate table with SQL query

    return tbl;
}
Run Code Online (Sandbox Code Playgroud)

该表正在服务器端正确填充.它比我循环并返回的测试表要小得多,并且查询小而快 - 这里没有超时或大数据传输的问题.正在使用相同的功能和DataContracts/ServiceContracts/BehaviorContracts.

为什么填充表的方式对表成功返回有什么影响?

.net c# datatable wcf web-services

50
推荐指数
4
解决办法
5万
查看次数

OleDB和混合的Excel数据类型:缺少数据

我有一个Excel工作表我想读入数据表 - 除了Excel表格中的一个特定列之外,一切都很好.列,"产品ID",就像是值的组合##########n#########.

我试图让OleDB通过将其读入数据集/数据表来自动处理所有内容,但"ProductID"中的任何值都会n######丢失,忽略并留空.我尝试通过使用datareader循环遍历每一行来手动创建我的DataTable,但结果完全相同.

这是代码:

// add the column names manually to the datatable as column_1, column_2, ...
for (colnum = 0; colnum < num_columns; colnum ++){
  ds.Tables["products"].Columns.Add("column_" +colnum , System.Type.GetType("System.String")); 
}
while(myDataReader.Read()){
  // loop through each excel row adding a new respective datarow to my datatable 
  DataRow a_row = ds.Tables["products"].NewRow();
  for (col = 0; col < num_columns; col ++){
    try {  a_row[col] = rdr.GetString(col);  }
    catch {  a_row[col] = …
Run Code Online (Sandbox Code Playgroud)

oledb datatable excel dataset

50
推荐指数
4
解决办法
9万
查看次数

在DataTable中插入一个新行

我有一个数据表填充了人员数据,如..

Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Staff 2 - Day 1 - Total
Staff 2 - Day 2 - Total
Staff 2 - Day 3 - Total
Staff 2 - Day 4 - Total
Run Code Online (Sandbox Code Playgroud)

我想修改,以便结果会像......

Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Total   -       - Total Value
Staff 2 - …
Run Code Online (Sandbox Code Playgroud)

c# datatable

50
推荐指数
4
解决办法
29万
查看次数

合并2个DataTable并存储一个新的

如果我有2个DataTables(dtOne和dtTwo),我想合并它们并将它们放在另一个DataTable(dtAll)中.我怎么能在C#中做到这一点?我在数据表上尝试了Merge语句,但是返回void.合并是否保留数据?例如,如果我这样做:

 dtOne.Merge(dtTwo);
Run Code Online (Sandbox Code Playgroud)

dtOne是否会更改或更改dtTwo更改,如果其中任何一个更改,更改是否保留?

我知道我不能这样做,因为Merge返回void,但我希望能够在dtAll中存储dtOne和dtTwo的合并:

//Will Not work, How do I do this
dtAll = dtOne.Merge(dtTwo);
Run Code Online (Sandbox Code Playgroud)

c# datatable

49
推荐指数
3
解决办法
14万
查看次数

箭头指向排序表中的哪个方向?

在排序表中,通常有一个向上或向下箭头表示排序样式.但是,我在确定箭头指向哪个方向时遇到了一些麻烦.在ASC排序中,字符按1-9A-Za-z排序.箭头指向上或下吗?

我在网上找到了两者的实现,所以这对我没什么帮助:UpDown(你必须先创建表).

对此有一个硬性规定吗?我发现自己能够证明两种实现的合理性.你用哪种方法?哪个更直观,为什么?

编辑:你们中的一些人已经建议了其他实现,比如上升的条形图或带箭头的字母表示排序方向.很棒的建议.我肯定对其他选择持开放态度.越不明确,越好.它可能是挑剔的,但我真的希望用户方面存在极少或没有混淆.

编辑:我现在最后一起上升和下降的酒吧.它不是标准的,但似乎比三角形更不明确.当前的排序列显示了三个条形图,从小到大(从左到右)表示ASC,与DESC相反.其他可排序列默认情况下没有条形,但将鼠标悬停在任何可排序列标题(包括当前列)上会显示描述如果单击该列标题将如何对表进行排序的条形图.

datatable user-interface

48
推荐指数
8
解决办法
3万
查看次数

将参数添加到IDbCommand

我正在创建一个小辅助函数来返回一个DataTable.我想跨所有供应商合作ADO.Net支持,所以我想到了使一切使用IDbCommandDbCommand在可能的情况.

我用以下代码达到了绊脚石:

    private static DataTable QueryImpl(ref IDbConnection conn, String SqlToExecute, CommandType CommandType, Array Parameters)
    {
        SetupConnection(ref conn);
        // set the capacity to 20 so the first 20 allocations are quicker...
        DataTable dt = new DataTable();
        using (IDbCommand cmd = conn.CreateCommand())
        {
            cmd.CommandText = SqlToExecute;
            cmd.CommandType = CommandType;
            if (Parameters != null && Parameters.Length > 0)
            {
                for (Int32 i = 0; i < Parameters.Length; i++)
                {
                    cmd.Parameters.Add(Parameters.GetValue(i));
                }
            }
            dt.Load(cmd.ExecuteReader(), LoadOption.OverwriteChanges);
        } …
Run Code Online (Sandbox Code Playgroud)

c# datatable

46
推荐指数
2
解决办法
4万
查看次数

如何将数据表插入SQL Server数据库表?

我从一些Excel文件中导入了数据,并将其保存到了一个datatable.现在我想将这些信息保存在我的SQL Server数据库中.

我在网上看到了很多信息,但我无法理解:

  1. 有人说逐行插入另一个建议批量更新......等等:它有什么好处?
  2. 我应该使用OLESQL Server对象(如dataAdapterconnection)?

我需要从他的Excel文件中读取员工每周工时报告并将其保存到保存所有报告的数据库表中(每周用新记录更新数据库).

Excel文件仅包含当前周的报告.

c# sql-server datatable

46
推荐指数
3
解决办法
21万
查看次数