黑马程序员+ADO.Net基础(下)
---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!-------------
12 优化导入数据
/// <summary>
/// 优化导入操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog()==DialogResult.OK)
{//创建一次连接
using (SqlConnection conn=new SqlConnection(conStr))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "insert into T_Person values(@Name,@Age)";
using (FileStream stream = File.OpenRead(ofd.FileName))
{
using (StreamReader reader=new StreamReader(stream))
{
string lines = null;
while ((lines=reader.ReadLine())!=null)
{
string[] line = lines.Split('|');
string name = line[0];
int age = Convert.ToInt32(line[1]);
cmd.Parameters.Clear();//重要!
cmd.Parameters.Add(new SqlParameter("@Name",name));
cmd.Parameters.Add(new SqlParameter("@Age", age));
cmd.ExecuteNonQuery();
}
MessageBox.Show("导入数据成功!");
}
}
}
}
}
}
13 省市联级(DisplayMember ComoBox加载时要显示的字段; DropDownStyle ComoBox 只能下拉菜单;)
string conStr = @"Data Source=ZHANGLIANG\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True";
/// <summary>
/// 加载省
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
using (SqlConnection conn=new SqlConnection(conStr))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "select * from promary ";
using (SqlDataReader reader=cmd.ExecuteReader())
{
while (reader.Read())
{
Promary promary = new Promary();
promary.ProID = reader.GetInt32(reader.GetOrdinal("proID"));
promary.ProName = reader.GetString(reader.GetOrdinal("proName"));
cmbpromary.Items.Add(promary);
}
}
}
}
}
/// <summary>
/// 加载市
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cmbpromary_SelectedIndexChanged(object sender, EventArgs e)
{
City city=new City();
Promary promary = (Promary)cmbpromary.SelectedItem;
int i=promary.ProID;
using (SqlConnection conn=new SqlConnection(conStr))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = string.Format("select * from city where proID='{0}'",promary.ProID);
using (SqlDataReader reader=cmd.ExecuteReader())
{
cmbcity.Items.Clear();
while (reader.Read())
{
city.CityID = reader.GetInt32(reader.GetOrdinal("cityID"));
city.CityName = reader.GetString(reader.GetOrdinal("cityName"));
cmbcity.Items.Add(city);
}
}
}
}
}
}
class City {
public int CityID { get; set; }
public string CityName { get; set; }
}
class Promary {
public int ProID { get; set; }
public string ProName { get; set; }
}
14 读取配置中的连接字符串
<connectionStrings>
<add name="ConnectionStr" connectionString=@"Data Source=ZHANGLIANG\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True"/>
//获取配置连接字符串
</connectionStrings>
stringconstr=ConfigurationManager.ConnectionStrings["ConnectionStr"].ConnectionString
15 号码归属地查询
private string constr = ConfigurationManager.ConnectionStrings["newconString"].ConnectionString;
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection conn=new SqlConnection(constr))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "delete from T_Numbers";
cmd.ExecuteNonQuery();
}
}
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.SelectedPath = @"F:\c#\c#基础\手机号码归属地";
if (fbd.ShowDialog() == DialogResult.OK)
{
string path = fbd.SelectedPath;
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Numbers values(@StartNumber,@EndNumber,@Name)";
foreach (var file in files)
{
string fileName = Path.GetFileNameWithoutExtension(file);
string[] lines = File.ReadAllLines(file, Encoding.Default);
foreach (var line in lines)
{
string[] str = line.Split('-');
string startNumber = str[0];
string endNumber = str[1];
string city = str[2];
cmd.Parameters.Clear();
cmd.Parameters.Add("@StartNumber", startNumber);
cmd.Parameters.Add("@EndNumber", endNumber);
cmd.Parameters.Add("@Name", fileName + city);
cmd.ExecuteNonQuery();
}
}
}
}
}
}
/// <summary>
/// 号码所属地查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
string No = txtNumber.Text.Trim();
using (SqlConnection conn=new SqlConnection(constr))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "select * from T_Numbers where startnumber<=@No and @No<=endnumber ";
cmd.Parameters.Add("@No",No);
using (SqlDataReader reader=cmd.ExecuteReader())
{
while (reader.Read())
{
MessageBox.Show(reader.GetString(reader.GetOrdinal("name")));
}
}
}
}
}
------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ---------------
详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>
黑马程序员+ADO.Net基础(下)的更多相关文章
- 黑马程序员+ADO.Net基础(中)
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net ...
- 黑马程序员+ADO.Net基础(上)
---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android ...
- 黑马程序员:Java基础总结----泛型(高级)
黑马程序员:Java基础总结 泛型(高级) ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...
- 黑马程序员:Java基础总结----类加载器
黑马程序员:Java基础总结 类加载器 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...
- 黑马程序员:Java基础总结----反射
黑马程序员:Java基础总结 反射 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 反射 反射的基石:Class类 Class类代表Java类,它的各个实例对象又分别 ...
- 黑马程序员:Java基础总结----网络编程
黑马程序员:Java基础总结 网络编程 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 网络编程 网络通讯要素 . IP地址 . 网络中设备的标识 . 不易记忆,可用 ...
- 黑马程序员:Java基础总结----正则表达式
黑马程序员:Java基础总结 正则表达式 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 正则表达式 import java.util.regex.*; 符合一定规 ...
- 黑马程序员:Java基础总结----静态代理模式&动态代理
黑马程序员:Java基础总结 静态代理模式&动态代理 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public class Ts { ...
- 黑马程序员:Java基础总结----枚举
黑马程序员:Java基础总结 枚举 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...
随机推荐
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- 关于monkeyrunner的一些初步理解性的题目
1.Monkeyrunner中包含几个基本类?分别大概的作用是什么? Monkeyrunner中基本包含了MonkeyRunner,MonkeyDevice,MonkeyImage MonkeyRun ...
- LVM增大和减小ext4、xfs分区
可以对ext4调整分区大小,能自动识别要增大还是减小 lvresize -L 300M -r /dev/vg/lvol0 原文地址http://www.361way.com/lvm-xfs-ext4/ ...
- WCF账户密码认证
记录一下我实现WCF用户认证与权限控制的实现方法, 也让其他网友少走一些弯路. 内容写得非常小白(因为我也是小白嘛), 比较详细, 方便WCF知识基础薄的朋友 主要分为下面几个步骤 作为例子, 创建最 ...
- .NET平台开发Mongo基础知识
NoSQL简介 NoSQL相关的技术最近越来越受欢迎,Mongo本身就是基于NoSQL实现的.关于NoSQL你需要了解 什么是NoSQL NoSQL和传统的关系型数据库有什么区别 NoSQL的优缺点 ...
- div+css实例教程
DIV+CSS是WEB设计标准,它是一种网页的布局方法.与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离. 对于初学者来说,可能比较模糊不熟悉.毕竟,样式布局需要通 ...
- 【java】:多表关联、排序
SELECT * FROM (SELECT coll.collection_id, coll.report_id, coll.new_id, news.title,news.abstract_txt, ...
- textarea 在浏览器中固定大小和禁止拖动
HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...
- 1996: [Hnoi2010]chorus 合唱队
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1996 Description Input Output Sample Input 4 1701 ...
- JavaScript 三个组成部分
1.核心(ECMAScript) ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性.方法和对象.其他语言可以实现 ECMAScript 来作为功能的基准,JavaScript 就是这样: ...