【ADO.NET】5、手机归属地查询( winfrom )
using System.IO;
有一个数据库手机号码的txt文件,格式是 : 13500000000-13560000000-中国移动
查询结果: 湖南移动[邵阳]
文件夹选择对话框 FolderBrowserDialog;
string[] Directory.GetFiles(路径,类型,选项) //按照通配符搜索目录下的文件
Path.GetFileNameWithoutExtension(文件名) //得到文件名(不要扩展名)
Path.Combine(路径1,路径2) //合并两个路径
Path.GetFileName(路径) //得到文件名(含有后缀)
Path.GetFullPath(路径) //得到文件的全路径
导入前先清除旧数据
界面是这样的:
一个文本输入框:txtMessage
一个查询按钮: btnCha
一个导入按钮: btnInput
一个Label控件: labMessage
private void btnInput_Click(object sender, EventArgs e) //导入按钮 单击事件
{
FolderBrowserDialog dlg = new FolderBrowserDialog(); //选择目录对话框
if (dlg.ShowDialog() != DialogResult.OK) //判断是否点确定
{
return;
}
string path = dlg.SelectedPath; //获取目录路径 string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; //获取字符串
using (SqlConnection conn = new SqlConnection(Str)) //使用变量Str进行连接
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "delete from T_phone"; //先删除表
cmd.ExecuteNonQuery();
}
} //搜索指定目录下的所有 .txt 文件
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories); using (SqlConnection conn = new SqlConnection(Str))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_phone(StarNo,EndNo,Name) values(@SN,@EN,@NA)"; foreach (string file in files)
{
string 运营商 = Path.GetFileNameWithoutExtension(file); //得到文件名,无扩展名
string[] lines = File.ReadAllLines(file, Encoding.Default); //读取所有行,默认编码为UTF-8 foreach (string line in lines)
{
string[] str = line.Split('-'); //按"-"符分割
string StartN = str[];
string EndN = str[];
string Name = str[]; cmd.Parameters.Clear(); //先清空 Parameters
cmd.Parameters.Add(new SqlParameter("SN", StartN));
cmd.Parameters.Add(new SqlParameter("EN", EndN));
cmd.Parameters.Add(new SqlParameter("NA",运营商 + Name));
cmd.ExecuteNonQuery();
}
}
MessageBox.Show("导入完成!");
}
}
} private void btnCha_Click(object sender, EventArgs e) //查询按钮,单击事件
{
string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(Str))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select Name from T_phone where StarNo<@Num and EndNo>@Num";
cmd.Parameters.Add(new SqlParameter("@Num",txtNum.Text.Trim()));
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
string result =Convert.ToString(dr["Name"]);
labMessage.Text = null;
labMessage.Text ="号码地址:" + result;
}
else
{
labMessage.Text = "号码地址:" + "地址未知!";
}
}
}
}
【ADO.NET】5、手机归属地查询( winfrom )的更多相关文章
- PHP学习笔记:利用百度api实现手机归属地查询
从来没有用过api,都不知道怎么获得api的数据,跟着demo,然后修改,终于实现了手机号码查询的功能,代码和说明很全,大家试试. <?php /** * Created by jianqing ...
- 手机归属地查询-IP地址查询-身份证查询-域名备案查询--Api接口
使用这些接口是需要密钥的 公共密钥 appkey: 10003 secret: d1149a30182aa2088ef645309ea193bf 生成后sign: b59bc3ef6191eb9f ...
- 【原创】Java实现手机号码归属地查询
网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属 ...
- 本地的手机号码归属地查询-oracle数据
最近做的项目中,有个功能是手机归属地查询,因为项目要在内网下运行,所以不能用提供的webservice,只好在网上找手机归属地的数据,很多都是access的,我们的项目是用oracle,只好自己转吧, ...
- C# 号码归属地查询算法
C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改) 前言 近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-! 文本提供一个279188条 ...
- C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改)
前言 近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-! 文本提供一个279188条记录并压缩成562KB的归属地数据.我在互联网上搜索了相关文章,要不是数据库 ...
- 一个非常好的php实现手机号归属地查询接口类
前一阵子看到了一个非常好的php手机归属地查询的类,写的很精简,查询也很精确!大致代码是这样的: <?php header("Content-type:text/html;charse ...
- 手机号码归属地查询api接口
淘宝网 API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回:JSON ...
- android134 360 07 归属地查询
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
随机推荐
- 小波变换和motion信号处理(一)(转)
写的太好,不得不转:http://www.kunli.info/2011/02/15/fourier-wavelet-motion-signal-1/ 这是<小波变换和motion信号处理> ...
- Cassandra的登录认证授权
cassandra的登录验证机制是独自的,数据是集群共享的 参考:http://blog.csdn.net/y_y_y_k_k_k_k/article/category/5943357 1.初始安装启 ...
- ehcharts中国地图四级级下钻
echarts 官网关于中国地图,只有全国-省:省-市,没有中国-省-市-县四级下钻相关文献,echarts地图最重要一点是模块化相对于其他各个图形,一下为三级下钻部分代码包括各级别交互,望指点: 中 ...
- Qt 第一步,环境搭建与测试
晚上离散数学课下课后就开始安装Qt. 最先安装的是5.2版本的,这个最新的版本集成了所有必须的工具,不需要配置,直接就可以运行的. 但是,看书和社区教程以及参考资料时候,发现大多是4.8版本的.于是, ...
- 一个tomcat究竟能接受多少并发
maxThreads 对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束.如果同时进来的请求多于当前可用的请求处理线程数,额外的线程就会被创建,直到到达配置的最大线程 ...
- 系统调用服务号 linux 2.6.32
http://www.cnblogs.com/xcywt/p/4998963.html 系统定义符号集中声明在 /usr/src/kernels/linux-2.6.32/include/linux/ ...
- Java中创建线程的两种方式
创建线程的第一种方式: 创建一个类继承Thread 重写Thread中的run方法 (创建线程是为了执行任务 任务代码必须有存储位置,run方法就是任务代码的存储位置.) 创建子类对象,其实就是在创建 ...
- java class 文件解析
参考下面两个文章对一个class文件进行解析: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.6 htt ...
- Margin和Padding之间的区别
margin ,padding body他们之间的区别就是 margin表示的是外边框的距离 padding表示的是内边框的距离 body表示的边框的距离
- javascript进击(五)JS对象
JavaScript中是所有事物都是对象.JavaScript允许自定义对象. 对象是带有属性和方法的特殊数据类型. 访问对象的属性: 常见属性 访问对象的方法: 常用方法 (创建JavaScript ...