用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. 动图|帮你一次性搞清楚 40种传感器工作原理
  2. /etc/rc.d/rc.sysinit 分析
  3. MemberShip驗證
  4. 全面掌握ISO8583报文协议
  5. 用Delphi实现Windows的鼠标钩子函数
  6. 香帅的北大金融学课笔记10 -- 金融衍生品
  7. Qt QTcpSocket使用总结
  8. ubuntu server 12.04 jdk,ssh及hadoop配置
  9. 30 友盟项目---体会篇
  10. Python的基本数据类型(1)
  11. 百位LOL英雄联盟角色合集
  12. 配置访问路径自定义的swagger接口说明文档api
  13. 别让西药毁了凉茶!盒马牵手平安堂,能放心喝的凉茶来了
  14. 连接mysql数据库error 2003_连接mysql数据库error 2003
  15. 微信小程序/小游戏运行环境小结
  16. 【领域泛化论文阅读】Birds of A Feather Flock Together:Category-Divergence Guidance for DomainAdaptiveSegmentat
  17. Android-Socket传输 GPRS网络
  18. Gradient_patch_recovery, Z_Z posteriori error estimator
  19. torch tensor去掉1维_自制番茄酱,只加糖是不对的,牢记1点技巧,番茄酱沙甜更好吃...
  20. OSG 之学习五:OSG 漫游

热门文章

  1. CF - Tear It Apart
  2. 游戏设计模式与实现之:建造者模式 与 角色组装
  3. 《智能控制》期末复习笔记(一)
  4. Python解放双手系列——用python自动追踪你的快递
  5. php梗相亲梗,真实、有梗、接地气,看完这档相亲节目你没笑算我输!
  6. JavaScript 鼠标事件 mouseEvent
  7. 如何调试Android语音功能,Android如何添加语音功能
  8. win7 搜索 php 文件内容,window_win7文件后缀名怎么设置实现文件内容搜索?,文件有广义的文件,那就是公 - phpStudy...
  9. 弄潮儿数据_大数据的弄潮儿
  10. 图像饱和度调整 参考