zoukankan      html  css  js  c++  java
  • 直接把数据库中的数据保存在CSV文件中

                     今天突然去聊就来写一个小小的demo喽,嘿嘿

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                saveFileDialog1.Filter = "CSV文件|*.CSV";
                saveFileDialog1.InitialDirectory = "D:\20160323";
                if (saveFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                else
                {
                    DataSet ds = GetTables();
                    string fileName1 = "Blogs";
                    string fileName2 = "AspNetUsers";
                    string fileName3 = "AspNetUserRoles";
                    SaveCSV(ds.Tables[0], fileName1);
                    SaveCSV(ds.Tables[1], fileName2);
                    SaveCSV(ds.Tables[2], fileName3);
                    MessageBox.Show("CSV文件保存成功!");
                }
            }
            public DataSet GetTables()
            {
                string sql = @"select * from Blogs;
                               select * from AspNetUsers;
                               select * from AspNetUserRoles
                             ";
                SqlParameter[] parms = { };
                return SqlHelper.ExecutedataAdapter(sql, parms, CommandType.Text);
            }
            /// <summary>
            /// 将DataTable中数据写入到CSV文件中
            /// </summary>
            /// <param name="dt">提供保存数据的DataTable</param>
            /// <param name="fileName">CSV的文件路径</param>
            public void SaveCSV(DataTable dt, string fileName)
            {
                FileStream fs = new FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
                string data = "";
    
                //写出列名称
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    data += dt.Columns[i].ColumnName.ToString();
                    if (i < dt.Columns.Count - 1)
                    {
                        data += ",";
                    }
                }
                sw.WriteLine(data);
    
                //写出各行数据
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    data = "";
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        data += dt.Rows[i][j].ToString();
                        if (j < dt.Columns.Count - 1)
                        {
                            data += ",";
                        }
                    }
                    sw.WriteLine(data);
                }
    
                sw.Close();
                fs.Close();
            }
        }
  • 相关阅读:
    二叉树遍历
    keras简单介绍与使用
    pandas基础使用
    如何在真机装linux(本人在台式机上又添了个硬盘)
    linux下安装kears
    Java Web 环境搭建步骤(超详细,包括前期安装步骤)
    python求范数
    随笔
    【opencv C++ linux】linux下编译含opencv的C++代码
    【论文阅读】DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation
  • 原文地址:https://www.cnblogs.com/dyxd/p/5311666.html
Copyright © 2011-2022 走看看