读取文本文件并转换成DataSet

本文介绍了一种将文本格式的数据导入数据库的方法,并分享了具体的C#实现代码。该方法能够处理包含特定字段分隔符的文本文件,并将其转换为数据库记录。
今天费了些时间把一大堆文本格式的数据导到数据库中,那叫烦人啊,结果还出现乱码,更气,结果还是弄处理啊,代码与大家分享分享
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(
"数据添加出现异常");
        }

值得推荐的购物网站: 九城购物-中国专业的电脑、手机、数码、家电、日用百货网上购物商城

转载于:https://www.cnblogs.com/ruolinzhanyuan/archive/2008/04/11/1148817.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值