使用oledb读写excel出现“操作必须使用一个可更新的查询”的解决办法

使用oledb读写excel出现“操作必须使用一个可更新的查询”的解决办法

 转自:http://www.cnblogs.com/Richinger/archive/2008/09/28/1301170.html

      前两天使用oledb连接excel的办法为单位某部门从一个excel的多个sheet中作连选抽出需要的数据,程序非常简单,结果很快就出来,原来手工需要很长时间才能选出的结果现在几乎一点击就有了结果。使用人员非常满意,由于是多人使用,开始只是将结果显示在一个页面上。后来他们要求将结果写入该xls文件的另一个sheet中,我随便写了个语句以为可以立马搞掂,没想到居然出现了“操作必须使用一个可更新的查询”。因为读取结果正常,我开始以为是excel文件所处的文件夹没有写权限所致。增加了相应权限后,结果依然如故。没办法还是检查程序吧,仔细检查了一下,问题发现了,原来开始只是为了读取excel我将连接写成了如下格式:

   Private filename As String = Server.MapPath(".") + "\test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
    Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename

特别注意

    Extended Properties='Excel 8.0;HDR=yes;IMEX=1'

     A: HDR ( HeaDer Row )设置
    若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称

    若指定值為 No,代表 Excel 档中的工作表第一行就是資料了,沒有栏位名称

    B:IMEX ( IMport EXport mode )设置

     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 档案可同时支援“读取”与“写入”用途。

     看完这些大家就不用再说我的写入为什么有问题了吧。我将连接改为如下:

 Private filename As String = Server.MapPath(".") + "\test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=2'"
    Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename

    运行一切ok。

转载于:https://www.cnblogs.com/lidexin/p/7824780.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

要学会拒绝

Img「聊天截图」这是今晚上跟一个朋友聊天的截图,之后、突然想到这个话题,今年因为疫情,很多人抱怨工作不好找,我这个朋友,也是在疫情之下,可能是干得不开心,也可能还是干得不开心,可…

二叉树小球下落问题c语言,#C++初学记录(树和二叉树)

二叉树的编号 例题 6-6 小球下落问题 有一棵二叉树,最大深度为D,且所有叶子深度都相同。所有节点从上到下,从左到右编号为1,2,3,4,....,2^D-1。在节点1处放置小球,他会往下落。每个节点上都有一个开关&…

unique离散化用法

用法类似lower_bound,sort,不过下标从1开始的话和lower_bound减去的东西不一样 用来离散化很好用 pos就是在原数组a中的rank了,根据cnt建线段树啥的。。。 sort(a21, a21n);cnt unique(a21, a21n) - (a21);FOR(n) {int pos lower_bound(a21, a21cnt, a…

linux设备模型之kset/kobj/ktype分析

1. 概述今天来聊一下Linux设备模型的基石:kset/kobject/ktype。sysfs文件系统提供了一种用户与内核数据结构进行交互的方式,可以通过mount -t sysfs sysfs /sys来进行挂载;Linux设备模型中,设备、驱动、总线组织成拓扑结构&#x…

截取控件界面

介绍: 做项目中,遇到需要截取界面图形的内容,查找了所有的Graphics函数, 都没有此功能。只能用GDI32中的BitBlt来解决。应用需要调用的函数 class GDI32 { [DllImport("GDI32.dll")] public static extern bool BitB…

android 信号强度变化,Android监听WIFI网络的变化并且获得当前信号强度

MainActivity如下:package cc.testwifi;import android.os.Bundle;import android.app.Activity;/*** Demo描述:* 监听Wifi网络的变化并且获得当前信号强度***/public class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {supe…

VLAN 路由实验图解

VLAN 路由实验图解(交换机为cisco1900系列)注:PC1:192.168.1.2 255.255.255.0PC2:192.168.2.2 255.255.255.0PC3:192.168.1.3 255.255.255.0PC4:192.168.2.3 255.255.255.0Fa0/0.1:192.168.1.1 255.255.255…

第 120 场双周赛 解题报告 | 珂学家 | 前后缀拆解 启发式合并

前言 忘名可以再记,回忆永不再来 整体评价 好像有一段时间没写周赛题解了,_. 感觉今天手感特别好,下午的几场比赛,包括传智杯都能打出超神战绩。 T3这题属于前后缀拆解,然后单调栈上二分(可以引入哨兵机制)&#xf…

音频系统,Alsa 里面的buff 是怎么计算的?

相关文章(干货)Ai音箱和Linux音频驱动小谈Linux ALSA 图解我在MTK平台下调试音频ALSA我们知道声音是模拟信号,模拟信号转成数字信号就一定有大小,既然有大小,那我们就需要开辟内存来保存这些数据。---- 我们知道,视频流的一帧就是…

android 多个启动页,Android启动页的问题整理

在一个方法一:设置起动模式一个Activity有四种启动模式:standard, singleTop, singleTask,singleInstance。standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。singleTop:如果已经有一个实例位于Activity栈的顶部时&#x…

用一句话证明你是程序员,你会怎么说

这个文章没有正文突然想到的一个话题,感觉很有意思如果用一句话透露出你是一个程序员你会怎么表露自己了?留言偷偷告诉我?

新年来了,上海求职,路过看看

学历:信息管理专科,(半个本科,今年才能毕业,自考)出生:1980年2月IT技能:.net(C#)基本熟练掌握能理解多层构架,并运用到项目中去OOP思想基本掌握java略懂设计模式与UML入门…

Node.js mimimn图片批量下载爬虫 1.00

这个爬虫在Referer设置上和其它爬虫相比有特殊性。代码: // // mimimn图片批量下载Node.js爬虫1.00 // 2017年11月15日 //// 内置http模块 var httpsrequire("https");// 内置文件处理模块,用于创建目录和图片文件 var fsrequire(fs);// cheer…

空间换时间,查表法的经典例子

前言 上一篇分享了:C语言精华知识:表驱动法编程实践这一篇再分享一个查表法经典的例子。我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待。本篇笔记我们先不考虑代码可读性、规范性、可移植性那些角度。在我们嵌入式中&#…

2005年度国产空间信息系统软件测评

基础平台软件: MapGIS7.0(武汉中地信息工程有限公司)SuperMapGIS5.0(北京超图地理信息技术有限公司)GeoStarGIS(武汉吉奥信息技术有限公司)桌面软件:SuperMap Deskpro&#xff08…

vs2019新建android生成app,VS2017 VS2019创建离线安装包

VS2017&VS2019创建离线安装包微软教程下载安装引导程序以下链接均来自微软官网创建安装包命令以VS2017专业版为例,VS2019自带.NET 4.7.2相关内容,可去除相关add项管理员CMD cd到vs_professional.exe所在目录# 全部组件,比较大不推荐&…

九个数的全排列(避免重复出现)

题意:http://www.51nod.com/onlineJudge/questionCode.html#!problemId1384 使用标准库里面的next_permutation()函数,这个函数是生成所有比当前的字符串大的字符串,所以最开始经过sort()排序之后,要先打印出当前的字符串。C STL中…

Linux内核系统架构介绍

28年前(1991年8月26日)Linus公开Linux的代码,开启了一个伟大的时代。这篇文章从进程调度,内存管理,设备驱动,文件系统,网络等方面讲解Linux内核系统架构。Linux的系统架构是一个经典的设计,它优秀的分层和模…

ESFramework介绍之(14)-- AS与FS通信方案

前面我们已经多次提到,每个AS都有一组FS为之服务(回顾),AS将接收到的功能请求通过Tcp连接池 或Remoting转发给某个FS处理。下面我们将深入讨论AS和FS之间的通信机制。 首先要解决第一个问题,AS如何知道每个为之服务…

这道笔试题竟然运行不出错

#读者提供的面试题下面这张截图是一个读者在面试的时候遇到的题目,是哪个公司的我就不说出来了,我在微信朋友圈发了这个题目后,有几个好友给我留言说自己也写了这道题。题目:下面这段代码有什么问题?#后续然后我就用这…