您的位置:首页 > 职场人生

黑马程序员之ADO.NET学习笔记:IP地址归属地查询。查询结果:北京移动[海淀]。

2012-09-06 08:46 756 查看
---------------------------------------------------
2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------

//IP地址归属地查询。查询结果:北京移动[海淀]。

//先把数据文件解压到硬盘上,然后写程序进行数据导入:扫描解压的目录下所有的txt文件,然后依次读取每个文件,注意用上文件名,表三列:起始号码,结束号码,运营商名称(山东移动[河泽])

//查询:select * from *** where StartNo <= @No and EndNo >=@No

using System;

using System.Collection.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 数据导入导出

{

public Form1()

{

InitializaComponent();

}

private void button1_Click(object sender,EventArgs e)

{

if(odfImport.ShowDialog() != DialogResult.OK)

{

return;

}

if( odfImport.ShowDialog() == DialogResult.OK)

{

using(FileStream fileStream = File.OpenRead(odfImport.FileName))

{

using(StreamReaser streamReader = new StreamReader(fileStream))

{

string line = null;

while((line = streamReader.ReadLine())! = null)

{

string[] strs = line.Split('|');

string name = strs[0];

int age = Convert.ToInt32(strs[1]);

using(SqlConnection conn = new SqlConnection(@"Data Source = .\SQLEXPRESS;AttachDBFilename=|DataDirectory|\MyDB.mdf;Integrated Security = True;User Instance = True"))

{

conn.Open();

using (SqlCommand cmd = conn.CreateCommand())

{

cmd.CommandText = "Insert into T_Numbers(StartNo,EndNo,Name) values(@StartNo,@EndNo,@Name)";

foreach(string file in files)

{

string 运营商名称 = Path.GetFileNameWithoutExtension(file);

string[] lines = File.ReadAllLines(file.Encoding.Defaule);//不用StreamReader,因为文件很小,一次性加载也不占多少内存。经反编译得知,ReadAllLines默认编码是UTF-8

foreach(string line in lines)

{

string[] strs = line.Split('-');

string 开始号码 = strs[0];

string 结束号码 = strs[1];

string 市 = strs[2];

cmd.Parameter.Clear();

cmd.Parameters.Add(new SqlParameter("StartNo",开始号码));

cmd.Parameters.Add(new SqlParameter("EndNo",结束号码));

cmd.Parameters.Add(new SqlParameter("Name",运营商名称+市));

cmd.ExecuteNonQuery();

}

}

}

}

}

}

}

MessageBox.Show("导入成功!");

private void btnSearch_Click(object sender,EvnetArgs e)

{

//读取连接字符串

String connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

using(SqlConnection conn = new SqlConnection(connStr))

{

conn.Open();

using(SqlCommand cmd = conn.CreateCommand())

{

cmd.CommandText = "select * from T_Numbers where StartNo<=@No and EndNo>=@No";

cmd .Parameters.Add(new SqlParameter("No",txtPhone.Text));

using(SqlDaraReader reader = cmd.ExecuteReader())

{

if(reaser.Read())

{

string name = reader.GetString(reader.GetOrdinal("Name"));

MessageBox.Show("name");

}

}

}

}

}

}

}

---------------------------------------------------
2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: