今天费了些时间把一大堆文本格式的数据导到数据库中,那叫烦人啊,结果还出现乱码,更气,结果还是弄处理啊,代码与大家分享分享
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("数据添加出现异常");
}
值得推荐的购物网站:
九城购物-中国专业的电脑、手机、数码、家电、日用百货网上购物商城