while((line=sr.ReadLine())='#')
应该是while((line=sr.ReadLine())=='#')//是不是应该是首字符为“#”啊?

解决方案 »

  1.   

    你多次使用line=sr.ReadLine()函数,说不定把一些行屏蔽掉了
    所以就没有信息写入数据库了
    还有你的程序首字符为“#”需要改动
      

  2.   

    你这段代码有好几处错误:
    1 SqlCommand sq=new SqlCommand("delete * from user_info",con)
    ->SqlCommand sq=new SqlCommand("delete * from user_info where ……",con);
    2 while((line=sr.ReadLine())='#')
    ->while((line=sr.ReadLine())=='#')
    3  while((line=sr.ReadLine())='#')
       { sr.ReadLine();} 
         //首字符为‘#’的信息行并不是需要的日志数据,继续读下一行
      while ((line=sr.ReadLine())!=null)
    判断所读的一行的首字符是否为'#'不是这样吧!且两个while()也有错误,你自己好好去分析一下!
    ->while((line=sr.ReadLine())!=null)
      {
        if(line[0]=='#')
          continue;
        else
        {
          line1=line.Trim().Split(' ');
          sqlstr="insert into user_info (username,address,age,riqi,re) values(line1[0],line1[1],line1[2],line1[3],line1[4])";
          SqlCommand com=new SqlCommand(sqlstr,con);
          if(com.ExecuteNonQuery()>0)
            MessageBox.Show("导入完成!");
        }
      }
    4 大哥,已经con.open()了,就不需要com.connection.open()了,两者等价的。