我无法将我的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());
}
}