用C#想写一个直接将数据库查询得到的datatable,直接导出为csv格式的文件,拷贝到导出的操作类后,一直catch到的错误提示是对路径的访问被拒绝,一直排查原因,发现原来:FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite),path处所读取的字符串必须包含文件名称以及格式。现在贴完整代码,以供帮助到像我一样的初学者。

private void button1_Click(object sender, EventArgs e)
        {
            System.IO.StreamReader st;

//由于我的查询语句较长,采用了读取txt文本的方式后做查询操作。
            st = new System.IO.StreamReader(Application.StartupPath + "\\SQL2.txt", System.Text.Encoding.Default);
      
            string stingsql=st.ReadToEnd();
            st.Close();

textBox1.Text = stingsql;
            DataTable dt = new DataTable();
            dt = bc.QueryCommand(stingsql);
      
            string filepath = @"F:\病案导出备份\患者统计表.csv";//此处必须为路径加文件名称,否则
            ImportToCSV(dt, filepath);
        }

public static void ImportToCSV(DataTable dt, string filepath)
        {
            FileStream fs = null;
            StreamWriter sw = null;
            try
            {
                fs = new FileStream(filepath, FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs, Encoding.Default);
                string head = "";
                //拼接列头
                for (int cNum = 0; cNum < dt.Columns.Count; cNum++)
                {
                    head += dt.Columns[cNum].ColumnName + ",";
                }
                //csv文件写入列头
                sw.WriteLine(head);
                string data = "";
                //csv写入数据
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string data2 = string.Empty;
                    //拼接行数据
                    for (int cNum1 = 0; cNum1 < dt.Columns.Count; cNum1++)
                    {
                        data2 = data2 + "\"" + dt.Rows[i][dt.Columns[cNum1].ColumnName].ToString() + "\",";
                    }
                    bool flag = data != data2;
                    if (flag)
                    {
                        sw.WriteLine(data2);
                    }
                    data = data2;

}
                string msg = "数据被成功导出到:" + filepath;
                MessageBox.Show(msg);
            }
            catch (Exception ex)
            {
               // logger.Error("导出csv失败!" + ex.Message);

MessageBox.Show("导出失败" + ex.Message);
                return;
            }
            finally
            {
                if (sw != null)
                {
                    sw.Close();
                }
                if (fs != null)
                {
                    fs.Close();
                }
                sw = null;
                fs = null;
            }
        }

C# 对路径的访问被拒绝相关推荐

  1. VS配合VSS时,编译报错:未能向文件“....csproj.FileListAbsolute.txt”写入命令行,对路径的访问被拒绝。...

    最近帮别人调试的时候,出现这个问题.环境:VS2008+VSS2005,多人配合完成一个项目. 在编译的时候报错:未能向文件"....csproj.FileListAbsolute.txt& ...

  2. 异常详细信息: System.UnauthorizedAccessException: 对路径的访问被拒绝。

    异常详细信息: System.UnauthorizedAccessException: 对路径的访问被拒绝. 参考文章: (1)异常详细信息: System.UnauthorizedAccessExc ...

  3. 异常详细信息: System.UnauthorizedAccessException: 对路径“”的访问被拒绝。

    异常详细信息: System.UnauthorizedAccessException: 对路径""的访问被拒绝. 参考文章: (1)异常详细信息: System.Unauthori ...

  4. 怎样解决:对路径的访问被拒绝这个问题.

    "/"应用程序中的服务器错误. -------------------------------------------------------------------------- ...

  5. html的访问路径,对路径的访问被拒绝

    "对路径的访问被拒绝." 是怎么回事 右键打开报错路径的的菜单,选择"属性". 在"属性"窗体中切换到"安全"选项框 在 ...

  6. 对路径upload访问被拒绝_Asp.net 对路径的访问被拒绝 解决办法(不是文件的一部分)...

    给下面这个目录加上ASP.NET帐号的权限. C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files ASP.NET ...

  7. VS中编译时:无法删除文件.对路径的访问被拒绝

    在今天的编程中,莫名其妙的出现了这种问题.在VS2015中,点击运行出现"无法删除文件"".对路径""的访问被拒绝"的错误,打开bin中的d ...

  8. VS中编译时出现“无法将文件...,对路径...的访问被拒绝”的解决

    在今天的编程中,莫名其妙的出现了这种问题.在VS2013中,点击运行出现"无法将文件-,对路径-的访问被拒绝"的错误,打开bin中的debug直接运行exe,发现没有权限,访问被拒 ...

  9. winform访问被拒绝_详解C#对路径...的访问被拒绝解决过程

    用C#想写一个直接将数据库查询得到的datatable,直接导出为csv格式的文件,拷贝到导出的操作类后,一直catch到的错误提示是对路径的泛微被拒绝,一直排查原因,发现原来:FileStream( ...

最新文章

  1. python提高照片分辨率怎么调_实拍16张菊花特写照片,运用暗色调表现,其质感表现得怎么样?...
  2. CentOS下LAMP实战与心得
  3. golang net包 ip相关函数 简介
  4. python叫什么语言-python是什么语言编写的
  5. 神策数据钟秉哲:一文了解用户标签画像,从洞察到突破
  6. paypal之nodejs 框架 Kraken-js 源码分析
  7. linux 串口text模式安装,使用串口安装centos操作系统
  8. 按网络中计算机所处的,按照网络中计算机所处的地位划分,计算机网络包括
  9. C++ 之编程语法习惯之 do{...}while(0) 的用处
  10. Lucene 与 Elastic
  11. WIFI,WiMAX和WAPI
  12. 大数据用kettle还是python_Kettle学习系列之Kettle能做什么?(三)
  13. 2021 泰迪杯 A 题
  14. win10误删的注册表能还原吗_如何恢复修改过的win10注册表?win10注册表修改后恢复方法...
  15. 3Dmax各类问题汇总及其完整解决方法
  16. 计算机谈歌曲简单,计算机应用基础公开课制作一首简单的MP3歌曲.ppt
  17. androidStudio中通过svn版本控制后整个工作空间代码变成红色或者绿色
  18. 微信小程序学习笔记——环境准备 【注册账号】【获取APPID】
  19. Windows10系统无法更改默认浏览器等默认设置
  20. PHP 数组基本概念

热门文章

  1. 阿里云服务器使用+OSS的使用
  2. 洛谷P5731 【深基5.习6】蛇形方阵(C++版)
  3. 计算机考试公平吗,网上阅卷系统运用于小学生考试中公平吗
  4. spring学习笔记05(狂神学习笔记)-IOC小结
  5. SAP系统MM模块MM17如何使用?物料主数据如何批量修改?
  6. 成人高考和全日制本科有啥区别
  7. MouseEvent鼠标事件对象
  8. 【Java】内存机制详解(new操作的执行原理)
  9. 西电B测-计算机专业-计算机网络综合设计实验一站式指南(以2023.4为基准)
  10. MSSQL2005,2000 恢复单个mdf文件【转】