zoukankan      html  css  js  c++  java
  • 读取文本文件并转换成DataSet

    今天费了些时间把一大堆文本格式的数据导到数据库中,那叫烦人啊,结果还出现乱码,更气,结果还是弄处理啊,代码与大家分享分享
    public static DataSet TextFileLoader(string FilePath, string TableName, string[] FieldsInArray)
        
    {
            DataSet ds 
    = new DataSet();
            DataTable dt 
    = new DataTable(TableName);

            StreamReader sr 
    = new StreamReader(FilePath, System.Text.Encoding.GetEncoding("GB2312"));   

            
    for (int i = 0; i < FieldsInArray.Length; i++)
            
    {
                dt.Columns.Add(
    new DataColumn(FieldsInArray[i], typeof(string)));
            }


            
    string strRead;
            
    bool flag = true;

            
    while (flag)
            
    {
                strRead 
    = sr.ReadLine();

                
    if (!string.IsNullOrEmpty(strRead))
                
    {
                    
    string[] aryVale = strRead.Split('\t');
                    aryVale 
    = strRead.Split('|');

                    DataRow dr 
    = dt.NewRow();
                    
    for (int k = 0; k < aryVale.Length; k++)
                    
    {
                        dr[FieldsInArray[k]] 
    = aryVale[k].ToString();
                    }

                    dt.Rows.Add(dr);
                }

                
    else
                
    {
                    flag 
    = false;
                }

            }


            ds.Tables.Add(dt);
            
    return ds;

        }

    TextFileLoader(string FilePath, string TableName, string[] FieldsInArray)方法是返回读取文件的结果集;
    Page_Load中的操作如下:
     string[] FieldsInArray = "IP1""IP2""Prov""City"};

            DataSet ds 
    = new DataSet();

            ds 
    = TextFileLoader(@"E:\IPAddr.txt""good", FieldsInArray);
            Hashtable hs 
    = new Hashtable();
            
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            
    {
                
    string sql = "INSERT INTO [IPAddr] (    [IP1],[IP2],    [Prov],    [City]) VALUES (    '" + ds.Tables[0].Rows[i]["IP1"+ "','" + ds.Tables[0].Rows[i]["IP2"+ "',    '" + ds.Tables[0].Rows[i]["Prov"+ "','" + ds.Tables[0].Rows[i]["City"+ "') ";
                hs.Add(i, sql);
            }

            Hashtable ht 
    = hs;
            
    bool fla=ExecuteSqlTran(hs);
            
    if (fla)
            
    {
                Response.Write(
    "数据添加成功");
            }

            
    else
            
    {
                Response.Write(
    "数据添加出现异常");
            }

  • 相关阅读:
    【Python开发】Lambda表达式使用
    【Python开发】Python 适合大数据量的处理吗?
    【Python开发】Python 适合大数据量的处理吗?
    【Python开发】matplotlib绘图不显示问题解决plt.show()
    【Python开发】matplotlib绘图不显示问题解决plt.show()
    【C/C++语言】指针常量与常量指针的区别
    【C/C++语言】指针常量与常量指针的区别
    【Qt开发】【计算机视觉】OpenCV在Qt-MinGw下的编译库
    【Qt开发】【计算机视觉】OpenCV在Qt-MinGw下的编译库
    【并行计算-CUDA开发】从零开始学习OpenCL开发(一)架构
  • 原文地址:https://www.cnblogs.com/ruolinzhanyuan/p/1148817.html
Copyright © 2011-2022 走看看