数据导出和导入

来源:互联网 发布:java如何获取get和post 编辑:程序博客网 时间:2024/05/12 10:00

 以winfrom为例(控制台也可以)

1、由记事本导入数据库中

(1)使用流文件与记事本建立联系

 FileStream filestream = File.Open(@"h:\studentinfo.txt", FileMode.OpenOrCreate, FileAccess.Read);

StreamReader reader=new StreamReader(filestream,Encoding.Default);//Encoding.Default防止出现乱码

(2)打开数据库

 string sql = ConfigurationManager.ConnectionStrings["sqlseverstr"].ConnectionString;//添加引用
 SqlConnection conn = new SqlConnection(sql);
 conn.Open();

 SqlCommand command = conn.CreateCommand();
 command.CommandText = "insertintoT_Student(name,id,sex,Mobile,Address,xibie,jiangpin,score) values(@name,@id,@sex,@Mobile,@Address,@xibie,@jiangpin,@score)";

(3)将记事本中的数据导入数据库中

 string result = "";
             while((result=reader.ReadLine())!=null)
             {
                 string[] values = result.Split('|');//使用Split函数将记事本中的内容分割
                 command.Parameters.Clear();
                 command.Parameters.AddWithValue("@name",values[0]);
                 command.Parameters.AddWithValue("@id", values[1]);
                 command.Parameters.AddWithValue("@sex", values[2]);
                 command.Parameters.AddWithValue("@Mobile", values[3]);
                 command.Parameters.AddWithValue("@Address", values[4]);
                 command.Parameters.AddWithValue("@xibie", values[5]);
                 command.Parameters.AddWithValue("@jiangpin", values[6]);
                 command.Parameters.AddWithValue("@score", values[7]);
                 command.ExecuteNonQuery();
             }

(4)关闭流关闭数据库的连接,释放内存

             conn.Close();
             conn.Dispose();
             command.Dispose();
             filestream.Close();
             filestream.Dispose();
             reader.Close();
             reader.Dispose();

 MessageBox.Show("导入成功");//检查是否导入成功

2、数据导出(数据库导出到记事本中)

(1)与数据库连接

            string sql = ConfigurationManager.ConnectionStrings["sqlseverstr"].ConnectionString;
            SqlConnection conn = new SqlConnection(sql);
            SqlCommand command = conn.CreateCommand();
            command.CommandText = "select * from T_Student";
            DataTable dt = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter(command);
            adapter.Fill(dt);

(2)与记事本建立连接

 FileStream filestream = File.Open(@"h:\studentinfo.txt",FileMode.OpenOrCreate,FileAccess.Write);
 StreamWriter write = new StreamWriter(filestream,Encoding.Default);

(3)将数据导入记事本中

 string name = "";
            string id = "";
            string sex = "";
            string Mobile = "";
            string Address = "";
            string xibie = "";
            string jiangpin = "";
            string score = "";

 for (int i = 0; i < dt.Rows.Count; i++)
            {
                name = dt.Rows[i]["name"].ToString();
                id = dt.Rows[i]["id"].ToString();
                sex = dt.Rows[i]["sex"].ToString();
                Mobile = dt.Rows[i]["mobile"].ToString();
                Address = dt.Rows[i]["address"].ToString();
                xibie = dt.Rows[i]["xibie"].ToString();
                jiangpin = dt.Rows[i]["jiangpin"].ToString();
                score = dt.Rows[i]["score"].ToString();
                write.WriteLine(name+"|"+id+"|"+sex+"|"+Mobile+"|"+Address+"|"+xibie+"|"+jiangpin+"|"+score+"|");
            }

(4)关闭连接释放内存

 write.Close();
            write.Dispose();
            filestream.Close();
            filestream.Dispose();
            MessageBox.Show("导出成功");//测试是否导出成功

其中使用的配置文件在解决方案管理器中右击项目添加新建项有应用配置文件(文件名最好不要改)添加

在APP文件中代码为:

<configuration>
  <connectionStrings>
    <add name="sqlseverstr" connectionString="Data Source=JDSFSDKO-PC;Initial Catalog=student;User ID=sa;Password=abc"/>
  </connectionStrings>
</configuration>









原创粉丝点击