IEnumerable<string> lines = File.ReadLines(filename,Encoding.Default);
foreach (string line in lines)
{
string[] segs = line.Split('|');
string name = segs[0];
string telephone = segs[1];
SQLHelper.ExecuteNonQuery("insert into myText.dbo.T_tel_company1(Name,tel) values (@name,@tel)",
new SqlParameter("@name",name), new SqlParameter("@tel",telephone));
}
MessageBox.Show("成功导入"+lines.Count()+"条数据");
这个当数据导完之后,显示数组越界,运行不到最后一步。怎么办啊?什么地方出了问题,求各位大神帮帮忙
foreach (string line in lines)
{
string[] segs = line.Split('|');
string name = segs[0];
string telephone = segs[1];
SQLHelper.ExecuteNonQuery("insert into myText.dbo.T_tel_company1(Name,tel) values (@name,@tel)",
new SqlParameter("@name",name), new SqlParameter("@tel",telephone));
}
MessageBox.Show("成功导入"+lines.Count()+"条数据");
这个当数据导完之后,显示数组越界,运行不到最后一步。怎么办啊?什么地方出了问题,求各位大神帮帮忙
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??百度了一下没解决的了
可能是数据的问题,最后的数据好像多了个回车。
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??百度了一下没解决的了
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??
百度了一下说using 的问题,把MessageBox放到using中就解决了。可是这样就没用Sqlhelper了。
有没有方法即可以用sqlhelper又可以解决“无法从已关闭的 TextReader 中读取。”这个问题的呢???
你说错了,没有要split的字符的时候,不会报错,还是会返回string[],不过里面是字符本身
例如
string line = "ABC";
string[] segs = line.Split('|');最后结果是 segs长度为1,segs[0] = "ABC";
不信可以去试
你说错了,没有要split的字符的时候,不会报错,还是会返回string[],不过里面是字符本身
例如
string line = "ABC";
string[] segs = line.Split('|');最后结果是 segs长度为1,segs[0] = "ABC";
不信可以去试是我没说清楚,当没有“|”的时候,split的结果会产生只有一个数据的数组,那么之后调用segs[1]的时候,肯定就会报数组越界的错误。
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??
百度了一下说using 的问题,把MessageBox放到using中就解决了。可是这样就没用Sqlhelper了。
有没有方法即可以用sqlhelper又可以解决“无法从已关闭的 TextReader 中读取。”这个问题的呢???在这句代码后面加上IEnumerable<string> lines = File.ReadLines(filename,Encoding.Default);
int count = lines.Count();
然后把最后的代码改成:MessageBox.Show("成功导入"+count+"条数据");
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??
百度了一下说using 的问题,把MessageBox放到using中就解决了。可是这样就没用Sqlhelper了。
有没有方法即可以用sqlhelper又可以解决“无法从已关闭的 TextReader 中读取。”这个问题的呢???在这句代码后面加上IEnumerable<string> lines = File.ReadLines(filename,Encoding.Default);
int count = lines.Count();
不行,还是报错。但你再次运行的时候会和打开文件出来,
然后把最后的代码改成:MessageBox.Show("成功导入"+count+"条数据");
每次循环开头或者结尾 count++;
但修改之后继续运行,却又出现错误了。“无法从已关闭的 TextReader 中读取。”这个要怎么解决啊??
百度了一下说using 的问题,把MessageBox放到using中就解决了。可是这样就没用Sqlhelper了。
有没有方法即可以用sqlhelper又可以解决“无法从已关闭的 TextReader 中读取。”这个问题的呢???在这句代码后面加上IEnumerable<string> lines = File.ReadLines(filename,Encoding.Default);
int count = lines.Count();
不行,还是报错。但你再次运行的时候会和打开文件出来,
然后把最后的代码改成:MessageBox.Show("成功导入"+count+"条数据");
修正之前的改法,你只要把File.ReadLines改成File.ReadAllLines应该就可以了。