想把TXT中的数据参入数据库,想这样用什么拆开

weisai 2011-09-19 03:04:38
数据格式像这样的,无列名,
PGSF-07-1D-V4 E MF-331(1.5) 0.00000 0
看起来像不定的空格隔开,不能用OLEDB

我这样拆,但是结果没有数据
while ((str2 = fileStream2.ReadLine()) != null)
{
//拆分字符串
string[] substr = str2.Split(' ');
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-09-19
  • 打赏
  • 举报
回复
这个对你有用:

public static void WriteTxt(string filePathName,bool append, List<string[]> ls)
{
StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default);
foreach(string[] strArr in ls)
{
fileWriter.WriteLine(String.Join (“\t",strArr) ); //以tab为分隔
}
fileWriter.Flush();
fileWriter.Close();
}
happytonice 2011-09-19
  • 打赏
  • 举报
回复
批插入效率高
w_p_ 2011-09-19
  • 打赏
  • 举报
回复
应该是先读到datatable,然后批插入效率高
秋叶随风飘落 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ojlovecd 的回复:]
引用 5 楼 weisai 的回复:

表述有误,不是没数据,是数据没有分割。跟踪了一下,果然是\t。
另外问一下,因为这个数据文件有几万行,是一行一行的插入数据表效率高,还是先读到datatable,然后批插入效率高

用StringBuilder拼接一个大的sql语句,一次性执行,不需要用到DataTable
[/Quote]
+1
我姓区不姓区 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 weisai 的回复:]

表述有误,不是没数据,是数据没有分割。跟踪了一下,果然是\t。
另外问一下,因为这个数据文件有几万行,是一行一行的插入数据表效率高,还是先读到datatable,然后批插入效率高
[/Quote]
用StringBuilder拼接一个大的sql语句,一次性执行,不需要用到DataTable
weisai 2011-09-19
  • 打赏
  • 举报
回复
表述有误,不是没数据,是数据没有分割。跟踪了一下,果然是\t。
另外问一下,因为这个数据文件有几万行,是一行一行的插入数据表效率高,还是先读到datatable,然后批插入效率高
我姓区不姓区 2011-09-19
  • 打赏
  • 举报
回复
用\t试试
还不行的话就用正则表达式
阿建像熊猫 2011-09-19
  • 打赏
  • 举报
回复
((str2 = fileStream2.ReadLine()) != null
wnyxy001 2011-09-19
  • 打赏
  • 举报
回复
试了一下 可以的啊

string aa = "PGSF-07-1D-V4 E MF-331(1.5) 0.00000 0";
string[] bb = aa.Split(' ');
636f6c696e 2011-09-19
  • 打赏
  • 举报
回复
没有数据?
是不是因为str2为空?

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧