请教:如何将txt保存的IP地址导入到数据库中

zengyu8g 2012-07-25 02:16:22

openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() != DialogResult.OK)
{
return;
}
using(FileStream fileStream = File.OpenRead(openFileDialog1.FileName))
{
using(StreamReader streamReader = new StreamReader(fileStream, Encoding.Default))
{
string ConnStr = ConfigurationManager.ConnectionStrings["IP连接字符串"].ConnectionString;
using(SqlConnection conn = new SqlConnection(ConnStr))
{
using(SqlCommand cmd = new SqlCommand("Insert into IPAddress(StartIP,EndIP,Country,Name) values (@StartIP,@EndIP,@Country,@Name)",conn))
{
string line = null;
conn.Open();
while ((line = streamReader.ReadLine()) != null)
{
string[] strs = line.Split(' ');
string Start = strs[0];
string End = strs[1];
string Country = strs[2];
string Name = strs[3];

cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("StartIP",Start));
cmd.Parameters.Add(new SqlParameter("EndIP", End));
cmd.Parameters.Add(new SqlParameter("Country", Country));
cmd.Parameters.Add(new SqlParameter("Name", Name));
cmd.ExecuteNonQuery();
}
}
MessageBox.Show("导入成功!");
}
}
}
}


在string name = strs[3];超出索引范围

IP地址如下示:

0.0.0.0 0.255.255.255 IANA CZ88.NET
1.0.0.0 1.51.255.255 IANA CZ88.NET
1.52.0.0 1.52.255.255 美国 CZ88.NET
1.53.0.0 1.153.255.255 IANA CZ88.NET
1.154.0.0 1.154.255.255 美国 CZ88.NET
1.155.0.0 1.255.255.255 IANA CZ88.NET
2.0.0.0 2.255.255.255 IANA CZ88.NET
3.0.0.0 3.255.255.255 美国 康涅狄格州费尔菲尔德县费尔菲尔德镇通用电气公司
4.0.0.0 4.255.255.255 美国 科罗拉多州布隆菲尔德市Level 3通信公司
5.0.0.0 5.147.255.255 IANA CZ88.NET
5.148.0.0 5.148.255.255 加拿大 CZ88.NET
5.149.0.0 5.255.255.255 IANA CZ88.NET
...全文
88 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
c2606050113 2012-07-25
  • 打赏
  • 举报
回复
出错位置设置断点
看看Country的值,是不是分组有问题 空格split经常出问题
isjoe 2012-07-25
  • 打赏
  • 举报
回复
每次读一行,然后用string[] strItems = Split(new char[] { ' ' });
按照空格拆分一行的内容,前两个字符串就对应StartIP,EndIP字段了。
  • 打赏
  • 举报
回复
设置断点调试,看看strs,数组包括几项

111,092

社区成员

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

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

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