文件的读取与写入

向记事本中导入从数据库中查询出来的结果。 

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();

                            }
                        }
                    }
                }
            }

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值