具有多个参数的 Excel 到 SQL 存储过程
Posted
技术标签:
【中文标题】具有多个参数的 Excel 到 SQL 存储过程【英文标题】:Excel-to-SQL stored procedure with multiple parameters 【发布时间】:2014-05-28 17:25:19 【问题描述】:我有一个包含四个参数的存储过程,我正在尝试将其连接到 Excel 2010 工作簿,但我在传递多个参数时遇到了困难。
我按照Running a SQL Stored Procedure in Excel 中概述的步骤操作,能够将我的存储过程连接到 Excel 并传递一个参数。
但是在我让它工作之后,我不得不修改我的存储过程并添加另外三个参数,现在我无法弄清楚我的 Excel 连接中用于传递多个参数的命令文本的语法。
我的存储过程名称是 [VIDIR].[_cornie_Report_Shipped_Serial_Numbers]
,我在 Excel 工作簿中使用了以下 VBA 代码,仅使用一个参数就成功刷新了连接。
Sub RefreshQuery()
With ActiveWorkbook.Connections("VIDIR3 Arborg_Test_App country").OLEDBConnection
.CommandText = "[VIDIR].[_cornie_Report_Shipped_Serial_Numbers] '%" & Range("C3").Value & "%'"
End With
ActiveWorkbook.Connections("VIDIR3 Arborg_Test_App country").Refresh
End Sub
修改后的存储过程中的四个参数名称分别是:
@BillName varchar(60)
,@ShipName varchar(60)
,@Item varchar(40)
,@FamilyCode varchar(40)
【问题讨论】:
【参考方案1】:使用https://superuser.com/questions/294779/pass-a-cell-contents-as-a-parameter-to-an-excel-query-in-excel-2007 中描述的逻辑(第一个答案的第二部分,涉及CreateParameter
和Parameters
集合。另请参见http://www.ozgrid.com/forum/showthread.php?t=170413 以获取另一个示例。
【讨论】:
以上是关于具有多个参数的 Excel 到 SQL 存储过程的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Pandas 中使用 sqlalchemy 执行具有多个日期参数的 sql 存储过程