C# 对DataTable进行操作

新声明一个DataTable

DataTable queueTable = new DataTable();
            queueTable.Columns.Add("LogType", typeof(string));
            queueTable.Columns.Add("Success", Type.GetType("System.Int32"));
            queueTable.Columns.Add("EndDate", Type.GetType("System.DateTime"));
            queueTable.Columns.Add("User_Id", Type.GetType("System.Int32"));
            return queueTable;

 

 

 

有时候,数据的返回结果是DataTable类型的数据(不止一行,形似Table)

想要获取里面的列名和值可以通过以下方法:

DataTable dt = dataSet.Tables[0]; //取第一行

foreach (DataColumn col in dt .Columns)
            {
                string  name=col.ColumnName;//获取到DataColumn列对象的列名
                dt.Rows[0][col.ColumnName].ToString(); //获取对应列对应名称的值
            }

 判断DataTable是否为空

if(dt.Rows.Count>0)

 

 

【将日志批量写入数据库】

public static Queue<Sys_Log> loggerQueueData = new Queue<Sys_Log>();

while (true)
            {
                try
                {
                    if(loggerQueueData.Count()>0 && queueTable.Rows.Count < 500)
                    {
                        DeQueueToTable(queueTable);
                        continue;
                    }
    
                    //将DataTable写入数据库
                    ...
                }
            }

private static void DequeueToTable(DataTable queueTable)
        {
            //读取一行(并删除)
            Sys_Log log = loggerQueueData.Dequeue();
            //新声明一行DataTable
            DataRow row = queueTable.NewRow();

            //赋值
            row["..."]=log.XX

           //加入
           queueTable.Rows.Add(row);
        }

 

posted @ 2020-08-31 15:21  RookieCoderAdu  阅读(406)  评论(0编辑  收藏  举报