从文本中读取到DataTable,并在DataTable中查询

来源:互联网 发布:人人商城2.6.3 源码 编辑:程序博客网 时间:2024/05/14 18:40
<pre name="code" class="csharp"> /// <summary>        /// 通过条件查出信息        /// </summary>        /// <param name="dt"></param>        /// <param name="str">查询条件</param>        /// <returns></returns>        public Record[] GetRecords(DataTable dt,string str)        {           DataRow[] rows= dt.Select(str);           Record[] items = new Record[rows.Length];           for (int i = 0; i < rows.Length; i++)           {               Record  record = new Record();               record.ChannelId = (string)rows[i]["ChannelId"];               record.StartTime = (string)rows[i]["StartTime"];               record.EndTime = (string)rows[i]["EndTime"];               record.lastTime = (string)rows[i]["LastTime"];               record.Number = (string)rows[i]["Number"];               items[i] = record;           }           return items;        }

 /// <summary>        /// 读取文本到DataTable中        /// </summary>        /// <param name="str">文件路径</param>        /// <returns></returns>        public DataTable ReadToDataTable(string str)        {            DataTable dt = new DataTable();            using (StreamReader objReader = new StreamReader(str,Encoding.Default))            {                dt.Columns.Add("ChannelId", System.Type.GetType("System.String"));                dt.Columns.Add("StartTime", System.Type.GetType("System.String"));                dt.Columns.Add("EndTime", System.Type.GetType("System.String"));                dt.Columns.Add("LastTime", System.Type.GetType("System.String"));                dt.Columns.Add("Number", System.Type.GetType("System.String"));                string sLine = "";                while (sLine != null)                {                    sLine = objReader.ReadLine();                    if (sLine != null && !sLine.Equals(""))                    {                        DataRow dr = dt.NewRow();                        string[] values = sLine.Split('\t');                        dr["ChannelId"] = values[0];                        dr["StartTime"] = values[1];                        dr["EndTime"] = values[2];                        dr["LastTime"] = values[3];                        dr["Number"] = values[4];                        dt.Rows.Add(dr);                    }                }                objReader.Close();            }            return dt;        }

从DataTable中查询可以用一下两种方法

一:DataView

 /// <summary>        /// 从DataTable中查询数据        /// </summary>        /// <param name="dt">DataTable对象</param>        /// <param name="str">查询条件</param>        /// <returns>返回一个DataView对象</returns>        public DataView GetDv(DataTable dt, string str)        {            DataView dv = new DataView(dt);            dv.RowFilter = str;            return dv;        }



二:dt.Select(查询条件)

 /// <summary>        /// 通过条件查出信息        /// </summary>        /// <param name="dt"></param>        /// <param name="str">查询条件</param>        /// <returns></returns>        public Record[] GetRecords(DataTable dt,string str)        {           DataRow[] rows= dt.Select(str);           Record[] items = new Record[rows.Length];           for (int i = 0; i < rows.Length; i++)           {               Record  record = new Record();               record.ChannelId = (string)rows[i]["ChannelId"];               record.StartTime = (string)rows[i]["StartTime"];               record.EndTime = (string)rows[i]["EndTime"];               record.lastTime = (string)rows[i]["LastTime"];               record.Number = (string)rows[i]["Number"];               items[i] = record;           }           return items;        }




0 0
原创粉丝点击