向记事本中导入从数据库中查询出来的结果。
Directory.CreateDirectory("F:\\helloe\\word"); //创建文件夹,并且只可以创建文件夹不可以创建记事本。
File.Create("F:\\helloe\\word\\sql.txt"); //根据路径找到指定文件夹建立记事本,如果没有该路径则需要写上面代码创建路径。
FileStream stream = File.Open("F:\\helloe\\word\\sql.txt", FileMode.OpenOrCreate, FileAccess.Write);//向记事本里写入数据的方法
StreamWriter write = new StreamWriter(stream);
string id = ""; //建立变量来接受数据库查出来的字段的值。
string Name = "";
string Sex = "";
string Phone = "";
string address = "";
string Departement = "";
string prize = "";
string Hkale = "";
string number = "";
string strr = ConfigurationManager.ConnectionStrings[1].ConnectionString; //用配置文件来获得链接数据库字符串。
SqlConnection conn = new SqlConnection(strr); //数据库链接
conn.Open(); //打开数据库
SqlCommand comm = conn.CreateCommand();
comm.CommandText = "select * from stutable1";
SqlDataReader reader = comm.ExecuteReader(); //SqlDataReader类来读取数据库信息
while (reader.Read()) //逐行到数据库读取数据放到内存中,该方法提高了程序的运行效率。
{
id = reader["id"].ToString();
Name = reader["Name"].ToString();
Sex = reader["Sex"].ToString();
Phone = reader["Phone"].ToString();
address = reader["address"].ToString();
Departement = reader["Departement"].ToString();
prize = reader["prize"].ToString();
Hkale = reader["Hkale"].ToString();
number = id + "|" + Name + "|" + Sex + "|" + Phone + "|" + address + "|" + Departement + "|" + prize + "|" + Hkale; //存入到记事本用|隔开
write.WriteLine(number); //将读出的数据写到记事本当中
}
conn.Close(); //关掉链接
conn.Dispose(); //清除数据
write.Close();
write.Dispose();
stream.Close();
stream.Dispose();
将记事本中的数据导出再倒入到数据库
string conf = ConfigurationManager.ConnectionStrings[1].ConnectionString;
using (SqlConnection conn1 = new SqlConnection(conf)) //将语句放到using中系统可以自动关闭链接清楚数据
{
conn1.Open();
using (SqlCommand comm1 = conn1.CreateCommand())
{
comm1.CommandText = "insert into stutable2 values(@id,@Name,@Sex,@phone,@address,@Departement,@prize,@Hkale)";
using (FileStream stream1 = File.Open("F:\\helloe\\word\\sql.txt", FileMode.OpenOrCreate, FileAccess.Read)) //读取记事本数据的方法
{
using (StreamReader reader1 = new StreamReader(stream1))
{
string res="";
while ((res= reader1.ReadLine()) != null) //读记事本当读到最后一行完,就会读空值,此判断防止读到空值,将空值插到数据库。
{
comm1.Parameters.Clear();
string[] str = res.Split('|'); //用|将读出的字符串分割为几个字符串放到str数组里面
Console.WriteLine(str[0]+str[1]+str[2]+str[3]+str[4]+str[5]+str[6]+str[7]); //将数组中的数据添加到数据库。
comm1.Parameters.AddWithValue("@id", str[0]);
comm1.Parameters.AddWithValue("@Name", str[1]);
comm1.Parameters.AddWithValue("@Sex", str[2]);
comm1.Parameters.AddWithValue("@phone", str[3]);
comm1.Parameters.AddWithValue("@address", str[4]);
comm1.Parameters.AddWithValue("@Departement", str[5]);
comm1.Parameters.AddWithValue("@prize", str[6]);
comm1.Parameters.AddWithValue("@Hkale", str[7]);
comm1.ExecuteNonQuery();
}
}
}
}
}