黑马程序员--ADO.NET数据导入导出
来源:互联网 发布:开票接口软件 编辑:程序博客网 时间:2024/05/19 01:11
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
下面是数据导出的代码
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/
先看一段代码:
if (importDialog.ShowDialog() != DialogResult.OK) { return; } using (FileStream filestream = File.OpenRead(importDialog.FileName)) { using (StreamReader streamreader = new StreamReader(filestream)) { string line = null; while ((line = streamreader.ReadLine()) != null) { string[] strs = line.Split('|'); string name = strs[0]; string password = strs[1]; using(SqlConnection conn=new SqlConnection(@"Data Source=.\;Database=test;user=**;password=2222;")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "insert into t_users (username,password) values (@name,@password)"; cmd.Parameters.Add(new SqlParameter("name", name)); cmd.Parameters.Add(new SqlParameter("password", password)); cmd.ExecuteNonQuery(); } } } } } MessageBox.Show("导入成功!");这样写虽然可以实现数据导入的功能,但是执行效率很慢。因为每处理一行数据都会创建一次连接,数据库在初次连接时是很慢的;
因此,应该在所有数据都导入完毕后才关闭数据库连接,并且SQLCOMMAND也应该重用,但这里要注意SQLcommand不能重复的添加参数,因此在每次循环时,都要清除一下参数,否则会报错。
if (importDialog.ShowDialog() != DialogResult.OK) { return; } using (FileStream filestream = File.OpenRead(importDialog.FileName)) { using (StreamReader streamReader = new StreamReader(filestream)) { using (SqlConnection conn = new SqlConnection(@"Data Source=./;Database=test;User=**;Password=******")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "insert into t_users(username,password) values (@name,@password)"; string line = null; while ((line = streamReader.ReadLine()) != null) { string[] strs = line.Split('|'); string name = strs[0]; string password = strs[1]; cmd.Parameters.Clear();//参数不能重复添加,在while循环中用的就只有一个sqlcommand,因此每次添加的时候要使用clear方法清除原来的参数; cmd.Parameters.Add("name", name); cmd.Parameters.Add("password", password); cmd.ExecuteNonQuery(); } } } } } MessageBox.Show("导入成功");
下面是数据导出的代码
if (outputFileDialog.ShowDialog() != DialogResult.OK) { return; } using (SqlConnection conn = new SqlConnection(@"Data Source=.\;Database=test;User=***;password=*****")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select username,password from t_users"; SqlDataReader reader=cmd.ExecuteReader(); string line = null; string filePath = outputFileDialog.FileName; while (reader.Read()) //逐条读取数据库表的记录,当读取完最后一行时,显示false { line= reader.GetString(0) + '|' + reader.GetString(1);//getstring方法得到指定列的数据 using (StreamWriter streamWriter = new StreamWriter(filePath,true,Encoding.Default)) //第二个参数设为true表示在指定文件的末尾增加,而不删除原有的文件 { streamWriter.WriteLine(line); streamWriter.Flush(); } } } } MessageBox.Show("导出成功!");
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/
- 黑马程序员--ADO.NET数据导入导出
- 黑马程序员之ADO.NET学习笔记:ADO.NET数据导入导出
- 【黑马程序员】ADO.Net(五个常用对象,数据导入)
- 黑马程序员数据导入导出
- 黑马程序员-------ADO.NET数据访问
- 黑马程序员-day5-数据导入导出
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- 黑马程序员-Ado.Net
- 黑马程序员-ADO.Net
- 黑马程序员-ADO.NET
- 黑马程序员 ADO.net
- 黑马程序员-ADO.net
- 黑马程序员-----ADO.NET
- 黑马程序员--ADO.NET
- 【黑马程序员】ADO.NET
- 【黑马程序员】ADO.net
- 黑马程序员 ado.net
- ado.net实现简单的数据导入和导出
- ExtJs使用Array向后台发送大量数据
- 堆和栈
- linux中grep的用法以及regular expression的用法
- BVH文件解析
- Delphi RegisterHotKey 设置系统热键
- 黑马程序员--ADO.NET数据导入导出
- 字符串编码(charset, encoding/decoding)问题原理
- javax.servlet.http.HttpServletRequest对对地址栏地址信息的解析
- 生成mpx文件下载,解析mpp文件上传
- 八皇后问题
- struts2自定义分页标签
- JavaScript字符串函数大全
- C# 实现下载(四法)
- URL 编码