C#数据库WPF txt导入导出的实例
来源:互联网 发布:戴尔win10激活windows 编辑:程序博客网 时间:2024/05/22 03:37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using Microsoft.Win32;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using Microsoft.Win32;
using System.IO;
namespace 数据导入
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
}
// 数据导入按钮的点击事件
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
}
// 数据导入按钮的点击事件
private void button1_Click(object sender, RoutedEventArgs e)
{
/* 数据库链接是很耗时的,尽量减少链接的次数,所以本方法不是最优的
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using(SqlConnection conn=new SqlConnection(connstring))
{
conn.Open();
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == true)
{
using (FileStream filestream = File.OpenRead(ofd.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream))
{
string line = null;
while ((line = streamreader.ReadLine()) != null)
{
string[] strs = line.Split('|');
string name = strs[0];
string age = strs[1];
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Student(Name,Age) values(@UN,@AGE)";
cmd.Parameters.Add(new SqlParameter("UN", name));
cmd.Parameters.Add(new SqlParameter("AGE",age));
cmd.ExecuteNonQuery();
}
}
}
}
}
}*/
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件|*.txt";
if (ofd.ShowDialog() == false)
{ return; }
using (FileStream filestream = File.OpenRead(ofd.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream,Encoding.GetEncoding("GB2312")))
//必需设置字符编码System.Text.Encoding.GetEncoding("GB2312"),不然string name = arr[0]中的name就是乱码
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Student(Name,Age) values(@name,@age)";
string[] strs = null;
string line=null;
while ((line = streamreader.ReadLine()) != null)
{
strs = line.Split('|');
string name = strs[0];
string age = strs[1];
cmd.Parameters.Clear(); //此语句的含义是清除parameters参数,因为一直使用的是同一个cmd对象,所以前面的 参数会累加。因此,应该调用清除;
cmd.Parameters.Add(new SqlParameter("name",name));
cmd.Parameters.Add(new SqlParameter("age",age));
cmd.ExecuteNonQuery();
}
}
}
}
}
{
/* 数据库链接是很耗时的,尽量减少链接的次数,所以本方法不是最优的
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using(SqlConnection conn=new SqlConnection(connstring))
{
conn.Open();
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == true)
{
using (FileStream filestream = File.OpenRead(ofd.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream))
{
string line = null;
while ((line = streamreader.ReadLine()) != null)
{
string[] strs = line.Split('|');
string name = strs[0];
string age = strs[1];
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Student(Name,Age) values(@UN,@AGE)";
cmd.Parameters.Add(new SqlParameter("UN", name));
cmd.Parameters.Add(new SqlParameter("AGE",age));
cmd.ExecuteNonQuery();
}
}
}
}
}
}*/
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件|*.txt";
if (ofd.ShowDialog() == false)
{ return; }
using (FileStream filestream = File.OpenRead(ofd.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream,Encoding.GetEncoding("GB2312")))
//必需设置字符编码System.Text.Encoding.GetEncoding("GB2312"),不然string name = arr[0]中的name就是乱码
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Student(Name,Age) values(@name,@age)";
string[] strs = null;
string line=null;
while ((line = streamreader.ReadLine()) != null)
{
strs = line.Split('|');
string name = strs[0];
string age = strs[1];
cmd.Parameters.Clear(); //此语句的含义是清除parameters参数,因为一直使用的是同一个cmd对象,所以前面的 参数会累加。因此,应该调用清除;
cmd.Parameters.Add(new SqlParameter("name",name));
cmd.Parameters.Add(new SqlParameter("age",age));
cmd.ExecuteNonQuery();
}
}
}
}
}
MessageBox.Show("数据插入成功");
}
//数据导出按钮的点击事件
}
//数据导出按钮的点击事件
private void button2_Click(object sender, RoutedEventArgs e)
{
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from T_Student";
using (FileStream filestream = File.OpenWrite(@"C:\Users\DELL\Desktop\test.txt"))
{
using (StreamWriter streamwtiter = new StreamWriter(filestream, Encoding.GetEncoding("GB2312")))
{
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
int age = reader.GetInt32(reader.GetOrdinal("Age"));
string str = name + "|" + age.ToString();
streamwtiter.WriteLine(str);
streamwtiter.Flush();
}
}
}
}
}
MessageBox.Show("信息导出成功");
}
}
}
{
string connstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;user Instance=True";
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from T_Student";
using (FileStream filestream = File.OpenWrite(@"C:\Users\DELL\Desktop\test.txt"))
{
using (StreamWriter streamwtiter = new StreamWriter(filestream, Encoding.GetEncoding("GB2312")))
{
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
int age = reader.GetInt32(reader.GetOrdinal("Age"));
string str = name + "|" + age.ToString();
streamwtiter.WriteLine(str);
streamwtiter.Flush();
}
}
}
}
}
MessageBox.Show("信息导出成功");
}
}
}
0 0
- C#数据库WPF txt导入导出的实例
- c#数据库与TXT导入导出的实例
- C# WPF 快速开发11导入txt数据到数据库
- c# DBF数据库导入导出实例
- 数据库导入导出实例
- oracle数据库的导入 导出实例
- oracle数据库的导入导出 实例
- QQ导出的txt聊天记录导入数据库方法
- c#数据库对文本文件的导入导出
- POI 导入导出数据库实例
- 导入导出:数据库导出Txt文本文件格式校验[原创]
- C#中从数据库导出至txt
- C#中从数据库导出至txt
- C#将txt导入SQL数据库
- C# TXT文件导入至数据库
- C# TXT文件导入至数据库
- 关于C#的windons窗体的Excel导入导出功能(含数据库)部门知识点解析和功能实例
- 从MySQL导出导入数据库的命令实例
- POJ2653-Pick-up sticks
- poj1067(威佐夫博奕)
- ARM中MMU地址转换理解
- 物理内存的描述
- CreateRemoteThread函数实现远程注入6部曲
- C#数据库WPF txt导入导出的实例
- 部分和问题
- myeclipse的An internal error occurred during: "Initialize Control Control"错误!!!
- javascript 无刷新select联动菜单
- C++学习随笔之六 数据类型转换
- java调用protobuf
- Dijkstra、Bellman_Ford、SPFA、Floyd算法复杂度比较
- 软件工程师为什么平凡跳槽?
- jquery each的中断方法