当前位置:编程学习 > C#/ASP.NET >>

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

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

我这样拆,但是结果没有数据
 while ((str2 = fileStream2.ReadLine()) != null)
                    {
                            //拆分字符串
                            string[] substr = str2.Split(' ');
--------------------编程问答-------------------- 没有数据?
是不是因为str2为空? --------------------编程问答-------------------- 试了一下  可以的啊

            string aa = "PGSF-07-1D-V4 E MF-331(1.5) 0.00000 0";
            string[] bb = aa.Split(' ');
--------------------编程问答-------------------- ((str2 = fileStream2.ReadLine()) != null --------------------编程问答-------------------- 用\t试试
还不行的话就用正则表达式 --------------------编程问答-------------------- 表述有误,不是没数据,是数据没有分割。跟踪了一下,果然是\t。
另外问一下,因为这个数据文件有几万行,是一行一行的插入数据表效率高,还是先读到datatable,然后批插入效率高 --------------------编程问答--------------------
引用 5 楼 weisai 的回复:
表述有误,不是没数据,是数据没有分割。跟踪了一下,果然是\t。
另外问一下,因为这个数据文件有几万行,是一行一行的插入数据表效率高,还是先读到datatable,然后批插入效率高

用StringBuilder拼接一个大的sql语句,一次性执行,不需要用到DataTable --------------------编程问答--------------------
引用 6 楼 ojlovecd 的回复:
引用 5 楼 weisai 的回复:

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

用StringBuilder拼接一个大的sql语句,一次性执行,不需要用到DataTable

+1 --------------------编程问答-------------------- 应该是先读到datatable,然后批插入效率高 --------------------编程问答-------------------- 批插入效率高 --------------------编程问答-------------------- 这个对你有用:

  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();  
  }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,