用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;

}

}

示例2

问题代码:

private bool GetChannelInfo()

{

comCheckWindow.LoadCheckResult("准备加载项目通道信息", Color.FromName("Green"));

XmlDocument proFile = new XmlDocument(); //读取项目配置文件

proFile.Load(proFilePath);

XmlNodeList channelList = proFile.SelectSingleNode("Project").ChildNodes;

if (channelList.Count == 0) return false;

......

return true;

}

在“proFile.Load(proFilePath)”语句处发生错误,提示对路径…(proFilePath的值)的访问被拒绝。

尝试过将目标文件重新选择路径(从C盘转移到D盘),或提升程序运行权限(在以管理员身份运行Visual Studio的情况下打开项目文件),均无效。

最后检查程序时发现:路径proFilePath的值不正确,运行“proFile.Load(proFilePath)”要求路径proFilePath指向一个确定的XML文件,但此处路径的值为该XML文件所在目录的路径,由于Load函数的参数指向对象类型不匹配,从而导致出错。

到此这篇关于详解C#对路径...的访问被拒绝解决过程的文章就介绍到这了,更多相关C# 路径访问被拒绝内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

winform访问被拒绝_详解C#对路径...的访问被拒绝解决过程相关推荐

  1. python获取mysql中的数据供js调用_详解js文件通过python访问数据库方法

    我来教你 js文件怎么通过python访问数据库,希望能够为你带来帮助. 1.如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 里面的 action 填写服务端的处理路由就可以了 ...

  2. python模块搜索原则_详解python模块路径查找规则及定义

    在python中创建一个模块非常简单,只需要在当前目录下创建一个 .py文件即可,系统自动将其解析成模块,文件名就是模块名.很多我们源码时代的同学都认为在查找模块时优先使用当前目录下的自定义模块.其实 ...

  3. java访问本地文件_详解Java读取本地文件并显示在JSP文件中

    详解Java读取本地文件并显示在JSP文件中 当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片.其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相 ...

  4. 直接访问静态图片_详解nginx和tomcat访问图片和静态页面的配置方法

    概述 生产环境下,有时候需要访问图片,正常需要应用ftp.nginx等配套使用,但是有时候为了简化,可以用以下的两种简单的访问,说实话,就是为了偷懒,但是效果是能有的,这就行了,所以今天做这个简化版的 ...

  5. win10monkey安装教程_详解win10下pytorch-gpu安装以及CUDA详细安装过程

    1.Cuda的下载安装及配置 首先我们要确定本机是否有独立显卡.在计算机-管理-设备管理器-显示适配器中,查看是否有独立显卡. 可以看到本机有一个集成显卡和独立显卡NVIDIA GetForce GT ...

  6. acdsee扫描没有图像_详解CT图像常见伪影成因及解决方法

    CT 图像伪影 (artifact) 是指重建图像上与实际解剖结构不相符的密度异常变化.CT 图像比传统平扫X线更容易出现伪影,这是因为 CT 图像是由成千上万独立的原始测量数据重建而得,而计算机重建 ...

  7. python连接不上数据库_详解pycharm连接不上mysql数据库的解决办法

    问题描述 环境:ubuntu18.04,mysql5.7 今天在ubuntu下使用pycharm连接mysql,发现连接不上 这不是缺少驱动吗?下载之! 下好之后点进去 连接 点击test conne ...

  8. 详解SpringBoot应用跨域访问解决方案

    详解SpringBoot应用跨域访问解决方案 参考文章: (1)详解SpringBoot应用跨域访问解决方案 (2)https://www.cnblogs.com/zimug/p/11832737.h ...

  9. 用JDBC直连方式访问SQL Server 2005详解

    用JDBC直连方式访问SQL Server 2005详解 1.安装JDK,配置其环境变量:(笔者所用版本为1.6版) (1)从官方网http://java.sun.com/jdk下载安装文件. (2) ...

最新文章

  1. Jenkins实现SVN+Maven+Java项目的持续集成
  2. TP,TN,FP,FN
  3. linux centos yum错误 You could try using --skip-broken to work around the problem
  4. c++类中成员的构造顺序
  5. Kalman Filter 学习笔记
  6. 恶意软件清理助手2008(测试版) 20080707
  7. Oracle用户管理(User|Privileges|Role)
  8. Hark的数据结构与算法练习之地精(侏儒)排序
  9. 计算机拨珠游戏,拨算盘与算盘游戏 | 褚半农
  10. 红帽linux6.8镜像下载,redhat8镜像下载
  11. 2018天梯赛第一次训练题解和ac代码
  12. 微信小程序 评论功能实现
  13. Jmeter性能测试报告导出
  14. 骨传导蓝牙耳机推荐,2022年最好的骨传导耳机
  15. 二叉树——推荐一些神奇的网站
  16. 科研伦理与学术规范-期末考试答案
  17. excel下拉菜单vba_一站式提供不同的Excel下拉菜单
  18. 微信小程序发布上线流程
  19. vue-cli生成的模板各个文件详解(转)
  20. 公司电脑监控软件有哪些免费的?哪个好用?

热门文章

  1. 基于ZCU106平台部署Vitis AI 1.2/2.5开发套件【Vivado+Vitis+Petalinux2020/2022】
  2. 关于Springboot项目页面中css,js文件加载失败的问题
  3. 2023一网通办一网统管一码互联一网共治建设方案(PPT可编辑)
  4. 绿地五里桥 设计原型_世博十年,满满回忆!一张地图回顾五里桥地区十年变迁!...
  5. fopen php 读取_PHP文件处理fopen 读写
  6. Java虚拟机启动过程解析
  7. 04-CSS选择器:伪类(超链接操作)
  8. 数据湖:用以分析客户数据的一种更好的方式
  9. 安利这三款录音转文字免费软件给你
  10. 终端 控制台 TTY shell 虚拟终端 图形界面终端