首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从SQL Server 2019返回的VBA/ADO中返回的值不可读

从SQL Server 2019返回的VBA/ADO中返回的值不可读是由于数据类型不匹配或者数据格式不正确导致的。以下是可能的原因和解决方法:

  1. 数据类型不匹配:确保在VBA/ADO代码中使用正确的数据类型来接收返回值。例如,如果返回的是字符串,使用字符串类型的变量来接收;如果返回的是数字,使用数值类型的变量来接收。
  2. 数据格式不正确:检查返回的数据是否符合预期的格式。例如,如果返回的是日期时间类型的值,确保在VBA/ADO代码中使用正确的日期时间格式来接收和处理。
  3. 数据库连接问题:确认数据库连接是否正确建立,并且具有足够的权限来读取返回的值。检查连接字符串、用户名和密码等信息是否正确配置。
  4. 数据库查询问题:检查SQL查询语句是否正确,确保查询语句能够返回预期的结果。可以在SQL Server Management Studio中执行相同的查询语句,验证返回的结果是否可读。
  5. 数据库版本兼容性:确保VBA/ADO代码与SQL Server 2019版本兼容。有时候,某些特定的功能或语法可能在不同的数据库版本中有所不同,导致返回的值不可读。

如果以上方法都无法解决问题,可以尝试以下步骤:

  1. 更新驱动程序:确保使用的是最新版本的数据库驱动程序,以确保与SQL Server 2019的兼容性。
  2. 检查数据库设置:检查数据库的设置和配置,确保允许从VBA/ADO中读取返回的值。
  3. 调试代码:使用调试工具逐步执行代码,查看返回的值在何处变得不可读。这有助于确定具体的问题所在。

腾讯云相关产品推荐:

  • 云数据库SQL Server:提供高性能、高可用的SQL Server数据库服务,支持SQL Server 2019版本。链接地址:https://cloud.tencent.com/product/cdb_sqlserver
  • 云服务器:提供弹性、安全、稳定的云服务器实例,可用于部署和运行VBA/ADO代码。链接地址:https://cloud.tencent.com/product/cvm
  • 云函数:无服务器计算服务,可用于编写和运行VBA/ADO代码的后端逻辑。链接地址:https://cloud.tencent.com/product/scf

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和情况进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • VBA代码引用ADO连接用法

    使用数据库优势与好处就不多讲了。我们如何利用EXCELVBA代码,有效地与SQL SERVER数据库结合起来,实现菜鸟水平也可以达到高效利用数据库呢?...这关键第一步就是,如果使EXCELVBA代码,顺利访问SQL SERVER数据库,然后就可以用普通SQL语句读写数据库数据了。现在就我编写调试实践经验,谈谈我个人体会。...运用ADO对象模型主要元素:Connection(连接)ConnectionString属性进行连接, ConnectionString为可读写string类型,指定一个连接字符串,告诉ADO 如何连接数据库...如果上面这种方法连接上,很可能你服务器端口号设置不正常,除了修改服务器端口号设置以外,我们还有第二种方法: cnn.ConnectionString = "Provider=SQL server...,参数表达式略有区别,最大区别就在于使用了不同连接引擎Provider=SQL server native client 10.0,经过测试,就算检查不到端口号,也能连上服务器数据库。

    2.6K100

    Microsoft Office Access

    在AccessVBA能够通过ADO访问参数化存储过程。与一般CS关系型数据库管理不同,Access执行数据库触发,预存程序或交互式登录操作。...在这方式下,处理大型数据库(服务型数据库,如SQL Server、Oracle)时,每一个链接表都有一个服务器连接,在服务器端,连接是一种资源,除了每个连接都要占用一定服务器资源外,还要负责链接表传递过来数据访问指令处理并返回相应结果给客户端...Microsoft SQLServer桌面版本能够与Access一起使用,作为Jet数据库引擎替代。这种支持是MSDE(Miscrosoft SQL Server桌面引擎)开始。...转换无符号整型数算术方法如下:第一个函数读进一个无符号整型数同时返回一个已经转变位长整型。第二个函数读入一个长整型,然后返回一个转变成无符号整型。...第二个函数读入一个长整型,然后返回一个已经转换无符号整型。第二个函数中使用了提示框语句是为了防止当传递到函数大于64KB时会出现溢出信息。

    4.2K130

    VBA与数据库——ADO

    Recordset ADO读取数据库数据,不管是使用ConnectionExcute、RecordsetOpen、CommandExcute,都是读取到Recordset这个类,之后才能在VBA...Excel VBA为了方便操作,在Range对象上实现了CopyFromRecordset 方法,方便使用者直接Recordset对象读取数据到单元格,这是Excel VBA使用ADO来操作数据库一个方便之处...,直接Recordset对象复制数据,不需要去写循环语句等操作处理。...这种使用方式一种场景是: 需要根据某个字段去数据库查找数据,如果条件数据是在数据库,使用Left Join操作就可以,但是如果数据是在VBA数组,这时候就需要用到Command,每次循环都只需要改变条件字段就可以...总结 初学者只要掌握一些简单操作就可以, 连接数据库得到Connection ConnectionExecute执行sql语句,update、insert等不需要返回数据执行完了就结束 select

    2K20

    Vba菜鸟教程

    使用ADO连接外部Excel数据源 常用sql语句 使用ADO连接外部Access数据源 附表 对齐方式 字体格式 填充 对话框 Vba菜鸟教程 官方文档:https://docs.microsoft.com...) '数组第七行,第二列 '最大 Range("h3") = Application.WorksheetFunction.Max(arr) 'match是找到在数组位置,参数是要找,要找数组...524288 文本为右对齐 vbMsgBoxRtlReading 1048576 指定文本应为在希伯来和阿拉伯语系统从右到左显示 返回 常数 说明 vbOK 1 确定 vbCancel 2...打开文件 GetOpenFilename (文件类型,优先类型,对话框标题,按钮文字[生效],是否支持多选) '返回文件完整路径,取消返回False,多选时返回数组,第一个文件下标为1 '文件类型参数...对数据进行操作 '抓取数据:CopyFromRecordse数据集中拷贝 'conn.Execute执行sql语句 'data是sheet名称,表使用[sheet名称$] Range(“a1”).

    17.1K40

    【坑】如何心平气和地填坑之拿RSViewSE报表说事

    ADO和DAO最大区别是ADO使用OLEDB接口而非ODBC作为底层数据供应者。依靠OLEDB,ADO也能够支持对非SQL数据存储记录集访问,如Email和网络目录服务。...OLEDB提供了比ODBC更多灵活性和易用性。OLEDB服务内部设计使得它能存取标准SQL类型数据那样容易访问非SQL数据存储。OLEDB一个关键特性是它可以提供对描述性数据存储处理。...,PLC只需实时读取即可,我们软件里面直接读取到PLC经过处理数据。...,输入标题栏内容 在VB里面,子程序分为两种, 一种是过程,一种是函数 Sub 和Function 区别, 如果需要返回子程序,就用函数(Function) 如果不需要返回子程序,就用过程(...此处可参考软件帮助文档,有示例代码可直接使用 第一步,定义和TagGroup 第二步,获取Tag 此处代码我自己修改过,与帮助文档源代码稍有差异 向表格内填入RSViewSE处获取数值 先用按钮调用一下该子过程

    3.1K41

    Namespace(命名空间)使用

    " %> 其实System.Data.SQL 可以用System.Data.ADO来代替,SQLSQL Server专用,ADO可以支持任何数据库(只要在主机上存在相应驱动就行了,如Access,Mysql...,Oracle之类),这里由于飞刀数据库是SQL Server,本来可以用ADO,但是想想M$单独把SQL独立出来,为何不用呢。...无论是ADO还是SQL ,他们都有几个基本对象用于操作 Connections 连结到一个数据库,以便于后面的应用(类似ADOConnections) Commands 执行SQL语句地方 DataReader...,但不返回任何记录 MyConnection.Close(); } 在上面的例子我们建立SQLCommand对象时引用了两个参数(strIndex,MyConnection),源程序我们也可以看出来...我们在这里执行用是ExecuteNonQuery()方法,这样返回记录集,只是返回受影响记录个数。 这里我们打开和关闭数据库也可以这样做。

    1.1K10

    C# 利用IDbDataAdapter IDataReader 实现通用数据集获取

    关于数据集 在.net 应用,与数据库进行连接并查询相关数据,填充到数据集是我们经常用到功能,数据集表现形式基本包括如下: 1、 DataSet DataSet 是 ADO.NET 数据集合对象...生成数据集对象需要利用 ADO.NET 数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我文章: 《C#实现 IDbConnection...DataSet或通过命令对象() ExecuteReader 填充到 DataReader,大体流程如下图: 范例运行环境 操作系统: Windows Server 2019 DataCenter .net...版本: .netFramework4.7.1 或以上 开发工具:VS2019 C# 数据库:在这里我们以支持 Oracle 9i、MS SQL Server 2016、国产达梦数据 8 为例 通用对象设计与实现...string 目前支持 "oracle"、 "dm8",其它字符串均视为 MS SQL Server strConn string 对应数据库连接字符串 2 _sql string 要执行SQL

    11510

    VBA教程先导介绍

    变量变量是用于存储数据命名空间。在VBA,变量有不同数据类型,如整数(Integer)、字符串(String)和布尔(Boolean)等。定义变量时,可以使用Dim关键字。...了解如何使用这些对象及其成员是编写VBA代码基础。函数和子程序在VBA,代码主要通过函数(Function)和子程序(Sub)组织。子程序用于执行一系列操作,而函数则用于返回一个。...调试技术调试是确保代码正确运行重要步骤。VBA提供了多种调试工具,如:断点:在代码特定行设置断点,暂停代码执行。即时窗口:在代码运行时查看和修改变量值。监视窗口:监视变量和表达式。...数据库连接通过VBA,您可以连接和操作外部数据库,如Access、SQL Server等。...这通常使用ADO(ActiveX Data Objects)或DAO(Data Access Objects)库。文件操作VBA可以用于操作文件系统,如创建、读取和写入文本文件。

    21010

    IFix实现与SQL SERVER数据交互

    在平常上位机系统开发过程,经常会要求实现和关系型数据库数据交互,今天介绍一种通用,免费方式,即 Microsoft ActiveX 数据对象 (ADO)。...ADO 用于 c + + 和 Visual Basic 程序连接到 SQL Server 和其他数据库。 首先建立数据库,并创建需要进行数据交互表。...假设你已经具备关系型数据库 SQL SERVER 基本知识,例程代码如下,以下代码包含基本数据库创建,表增,删,改,查等操作。基本可以满足日常使用。...第一,引用ADO,打开VBA编辑器,在“工具”选项卡中选择“引用”,在弹出对话框中选择:Mircosoft ActiveX Data Objects 2.5 Library,如下图所示,然后点击“确定...第二,编写SQL SERVER 语句模块。

    1.6K20

    VBA与数据库——写个类操作ADO_打开数据库

    在前面介绍一些操作数据库代码,可以看到,主要操作逻辑基本上是打开数据库-操作-关闭数据库,很多时候改变仅仅是操作,所以,把这些封装到一个类里面,以后调用自己写类就会更方便。...因为ADO这个东西不仅仅只有Excel VBA可以调用,只要能调用COM组件语言都是可以使用,所以ADO实现方法和属性都是通用性,对于使用Excel VBA的人来说,有些时候为了方便在Excel...类模块顶部声明: '函数返回,0表示成功 Private Enum RetCode RetSucce = 0 RetErr End Enum Private AdoConn As...ADODB.Connection '用来返回错误,通过GetErr函数 Private StrErr As String 然后输入类初始、销毁代码,主要就是声明ADODB.Connection以及关闭数据库...实现OpenDB 打开数据库就是调用ADOOpen方法,在打开时候,主要是需要写好Provider字符串,前面基本上是使用Excel来做测试,但是数据库有很多种,不同数据库Provider字符串是不一样

    2.8K30

    Enterprise Library 4 数据访问应用程序块

    ADO.NET 2.0 提供了如 DbCommand 类和 DbConnection 这样类,这些类有助于任何特定数据库实现抽象出数据提供程序。...场景如下: 使用 DataReader 获取多行数据 使用 DataSet 获取多行数据 运行一个命令并获取输出参数 运行一个命令并获取单项 在一个事务执行多个操作 SQL...SQL Server CE 有一个名为 SqlCeResultSet 特殊结果集。这是查询返回结果集类型。它支持在数据库查询、前向和后向移动、以及修改数据。...此方法用于 SQL 文本命令。 二个方法都返回一个 DbCommand 对象。 注意:SQL Server CE 不支持存储过程,用内联 SQL 语句来代替。...在执行存储过程时避免使用返回,而是使用输出参数。 在添加参数到参数集合时,确认在应用程序代码顺序与数据库顺序相匹配。

    1.8K60

    【续坑】如何心平气和地填坑之拿RSViewSE报表说事(2)

    JZGKCHINA 工控技术分享平台 上一篇《【坑】如何心平气和地填坑之拿RSViewSE报表说事》,我们在RSViewSE软件画面内嵌入了一个Spreadsheet控件表格,通过VBA脚本对它进行一系列控制实现了将...注意,原则上,我们推荐使用sa用户登录数据库,因为这是数据库超级管理员账户,拥有最高权限,用户可以登录到SQL Server管理器新建账户作为其连接账户。...在放个按钮用于触发查询过程 2、编写脚本,Access数据库读取数据 因为Access和SQL Server里读取数据时SQL 语句会稍有差异,我们需要单独分开说。...先建一个带输入参数和返回子函数,其输入参数是一条SQL查询语句,输出参数是一个二维数组 3、调用数据库读取函数,填充到下拉框里面去 思路:下拉框内应该显示数据库内现有的泵站编号,并且可以选择单独查询一个和查询全部...好了,由于篇幅有限,第三节我们继续讲SQL Server里面读取数据 王老湿最近测试了一款神奇国产组态软件,以上功能基本不需要脚本就能轻松实现,而且还有很多风骚功能,等测试完成后会安利给大家,敬请期待

    2.9K10

    C# SqlSugar框架学习使用(六)-- 扩展用法

    int pageidx = 1; //定义每页获取多少行 int pagesize = 5; //总行数,输出返回..."); 测试代码 }); // result.ErrorException // result.IsSuccess 返回数据并且返回状态 var result2 = db.Ado.UseTran<...Ado方法 我们用到最多还是查询返回List,所以这里只列这个方法,当然还可以实现DataTabe,DataSet等 查询并返回List private void tsmnuquerysqlado_Click...执行存储过程 由于我们数据库没有存储过程,这里就不做测试了,列出调用方法 CommandType.Text方式 也就是SQL脚本方式,这种方式是不能直接用存储过程名字去调用,需要这样写 db.Ado.GetInt...().GetDataTable("sp_school",nameP,ageP); //ageP.value可以拿到返回 Oracle游标 parameter.IsRefCursor =true; 我们还可以用

    6.9K20

    C#实现 IDbConnection IDbCommand 等相关通用数据接口

    2、 Command 命令对象,表示要对数据源连接执行 SQL 语句或存储过程,以获取返回结果或执行返回。...3、 DataParameter 用于表示Command命令对象需要参数设置,虽然这是一个可选项,但在实际应用几乎都会使用到 ADO.NET 数据提供者对象提供了IDbConnection...2019 DataCenter .net版本: .netFramework4.7.1 或以上 开发工具:VS2019 C# 数据库:在这里我们以支持 Oracle 9i、MS SQL Server...Server 2 cmdText string 要执行SQL语句命令行 3 paras ArrayList 要赋值参数对象,逐个添加到ArrayList里,请注意参数为实体数据参数对象,如 MS.../sql-server-2008-r2/ms159940(v=sql.105) https://learn.microsoft.com/zh-cn/previous-versions/sql/sql-server

    10510

    VBA创建Access数据库4种方法

    今天,我们谈谈怎么使用Excel VBA来创建数据库,数据表几种方法。 本次所有方法创建数据表如下图: 方法一:使用Access.Application(Access对象库)创建数据库。...操作方法:单击VBE窗口上【工具】按钮,在弹出快捷菜单单击【引用】按钮,接下来,在弹出对话框选择【Microsoft ADO Ext 6.0 for DDL and Security】。...ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出应用程序接口(API)用以实现访问关系或非关系数据库数据。...例如,如果您希望编写应用程序DB2或Oracle数据库向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)HTML文件。...当用户网站请求网页时,返回网页也包括了数据相应数据,这些是由于使用了ADO代码结果。 其中ADO+SQL用于创建表和字段,ADOX用于创建数据库。

    6K100

    ADO操作数据库方法步骤

    _ConnectionPtr接口返回一个记录集或一个空指针。 通常使用它来创建一个数据连接或执行一条返回任何结果SQL语句,如一个存储过程。..._CommandPtr接口返回一个记录集。 它提供了一种简单方法来执行返回记录集存储过程和SQL语句。...(3)不通过DSN对SQL SERVER数据库进行连接: m_pConnection->Open(“driver={SQLServer};Server=127.0.0.1;DATABASE=vckbase...;UID=sa;PWD=139”,””,””,adModeUnknown);//其中ServerSQL服务器名称,DATABASE是库名称 ◆先介绍Connection对象两个有用属性ConnectionTimeOut...m_pRecordset->adoEOF)   {    vID = m_pRecordset->GetCollect(_variant_t((long)0));    //取得第1列,0开始计数

    1.9K40
    领券