将数据库导出到.CSV c#

时间:2014-01-04 15:02:09

标签: c# database excel csv export

我无法将我的datebase表导出到.csv文件。

我收到一个system.invalidcastexception指定的强制转换是无效的异常。 我正在使用按钮单击事件处理程序调用我的Export方法。 我想用SaveFileDialog保存查询的内容。 我很擅长使用数据库,因此可以提供一些帮助!

谢谢!

public void Export()
        {
            DATABASE_CONNECTION = new OleDbConnection(CONNECTION_STRING);
            try
            {
                SaveFileDialog SFD = new SaveFileDialog();
                SFD.Filter = "CSV|*.csv";
                SFD.FileName = DATA_TABLE + "_DB";
                SFD.Title = "Export Database";
                if(SFD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                DATABASE_CONNECTION.Open();
                String QUERY = "SELECT * FROM " + DATA_TABLE;
                OleDbCommand COMMAND = new OleDbCommand(QUERY, DATABASE_CONNECTION);

                FilePath = SFD.FileName;
                OleDbDataReader READER = COMMAND.ExecuteReader();
                DataTable dtSchema = READER.GetSchemaTable();

                StreamWriter sw = new StreamWriter(FilePath, false);
                String strRows;

                while(READER.Read())
                {
                    strRows = "";
                    for (int i = 0; i < READER.FieldCount; i++)
                    {
                        strRows += READER.GetString(i);
                    }
                    sw.WriteLine(strRows);
                }
                sw.Close();
                READER.Close();
                MessageBox.Show("ok");
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
        }

0 个答案:

没有答案