连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决
C#使用oledb连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决办法
- string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + ";Extended Properties='Excel 12.0; HDR=yes; IMEX=2'";
- OleDbConnection conn = new OleDbConnection();
- conn.ConnectionString = strConn;
- try
- {
- OleDbCommand cmd = null;
- try
- {
- cmd = new OleDbCommand("Insert Into [Sheet1$] Values('abc', 'bac', '0', '123456', 'test','测试','aa')", conn);//(A,B,C,D,E,F,G)
- cmd.ExecuteNonQuery();
- }
- catch (System.Exception ex)
- {
- textBox1.Text += ("插入数据失败:" + ex.Message);
- textBox1.Text += ("\r\n");
- }
- FileInfo fi = new FileInfo(excelPath);
- System.Security.AccessControl.FileSecurity fileSecurity = fi.GetAccessControl();
- fileSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
- fileSecurity.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow));
- fi.SetAccessControl(fileSecurity);
- DirectoryInfo di = new DirectoryInfo(Path.GetDirectoryName(excelPath));
- System.Security.AccessControl.DirectorySecurity dirSecurity = di.GetAccessControl();
- dirSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
- dirSecurity.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow));
- di.SetAccessControl(dirSecurity);
知识补习,这里的连接字符串多了:Extended Properties='Excel 12.0; HDR=yes; IMEX=2'
参数HDR的值:
参数Excel 8.0 对于Excel 97以上到2003版本都用Excel 8.0,2007或2010的都用Extended Properties=Excel 12.0
IMEX 有三种模式:
0 is Export mode
1 is Import mode
2 is Linked mode (full update capabilities)
我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)
按照以上描述,上面的连接字符串应该是可以读取,插件记录的
连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决相关推荐
- C#使用oledb连接excel运行Insert Into语句出现“操作必须使用一个可更新的查询”的解决的方法...
我错误发生时的环境:Windows 7,Framework 4.0,Microsoft Office 2007,VS2010,c# WinForm. 部分代码: string strConn = &q ...
- 操作必须使用一个可更新的查询的解决方法
来自Asp.net精英论坛:bbs.1aspx.com 今天遇到了一个错误: 我把网站添加到IIS后浏览,提示"操作必须使用一个可更新的查询的解决方法" 有些奇怪,刚刚在vs里运行 ...
- Access update语句 提示 操作必须使用一个可更新的查询Access update语句 提示 操作必须使用一个可更新的查询
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.cr ...
- 操作必须使用一个可更新的查询 ,解决
操作必须使用一个可更新的查询. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data. ...
- Access提示“操作必须使用一个可更新的查询”的解决办法
问题: 软件工程师开发了一个asp.net+access网站,本地调试增.删.改和查都没有异常.部署到服务器windows2008 R2的IIS上运行后,查询没有异常. 可是在修改操作提交时,产生异常 ...
- ”操作必须使用一个可更新的查询“的解决
今天在把做好的网站放到局域网的服务器时候碰到了一个问题,在上传文件之后提示"操作必须使用一个可更新的查询",然后点击去查看显示上传文件信息的gridview时上传上去的文件根本显示 ...
- “操作必须使用一个可更新的查询”故障解决
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时,这是因为由于访客权限不够而不能够写数据库造成的:此类错误多发生在用ACCESS数据库的小活动程序,解决办法如下: 1. 最普遍的 ...
- access数据库出现操作必须使用一个可更新的查询的解决办法
查看相应数据库文件,发现ACCESS数据库文件只有读权限,没有写和修改的权限,所以对于update.delete等的操作无法正确完成. 解决办法: 在IIS中修改mdb文件的权限,针对user用户(以 ...
- Access数据库:它已经被别的用户以独占方式打开,操作必须使用一个可更新的查询,不能锁定文件
转自:http://iasp.bokee.com/ 笔名:iasp 由于网络开发过程,或者一些下载的例子工程一般都用Access数据库,因为它方便不需要服务器,以文件方式就可以访问. Access数 ...
最新文章
- apache http server指的是什么
- ngx_lua_API 指令详解(三)怎样理解 cosocket指令
- 通俗易懂!白话朴素贝叶斯
- monit 内存 监控_如何借助Monit搭建服务器监控系统?(1)
- 测试工具:Windows下超强日志工具BareTail
- WebService和Netty的区别
- linux mysql主从配置_linux下mysql主从配置
- 与其他.Net异步模式和类型进行互操作
- MEMORY系列之“DRAM概述”
- 记录一下Base64 在线编码解码
- 消除红眼效应及matlab实现
- 广州蓝景分享—前端开发JavaScript中的Array对象与其他数组
- 数字信号处理专业术语翻译
- linux编译各种报错(拙见)
- Bzoj4766 文艺计算姬
- python自动化------问卷星刷问卷3.0版本
- 会放弃的人生才会更洒脱
- 解决IDEA占用C盘空间过大的问题
- 如何查看PHP得版本?
- 【FPGA教程案例96】控制案例1——基于FPGA的自适应PID控制器verilog实现
热门文章
- 公众平台模板消息所在行业_微信公众号模板消息功能怎么快速推送?
- 自由存储区和堆的区别_区块链发展阶段:IPFS和Filecoin赋能分布式存储
- 交公粮了:国庆在家我都逛哪些技术网站?
- 为什么8位数据范围是-128到127,而不是-127到128?
- 易创互联 php,易创网站管理系统(DIRCMS) 2011 SP3 UTF8
- java传值的代码_SpringMVC的简单传值(实现代码)
- C语言求积标识符,《C语言程序设计》模拟试卷四.doc
- php5.3.3php5.4如何支持zend,PHP5.3、PHP5.4下安装ZendOptimizer或Zend Guard Loader的方法
- linux有防火墙么,Linux防火墙Firewall和Iptables的使用
- .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤