Excel QueryTable参数不绑定Sql参数

我是新的Excel开发,我有一个问题,这让我疯狂。 我希望你能帮助我。 让我解释一下情况,我试图创build一个QueryTable从SQL导入数据,但是…我现在得到一个错误刷新QueryTable,错误信息表明我没有传递所需参数的值。 (它工作硬编码:[)

经过几个小时的调查,我无法find一个解决scheme或例子来指导我…而我在这里:| 我不知道我在做什么错,下面是一些代码

foreach (Range row in main.Rows) { //row.Clear(); rowID = row.Row; if (string.IsNullOrEmpty(getAccounts(rowID, columnID)) ) continue; /* string connectionString = // \" string.Format("OLEDB;Provider=SQLOLEDB;Data Source={0};Initial Catalog={1};User ID={2};Password={3}", */ //string sql = "EXECUTE [Funciones].[Cuenta_Saldo_Anho] ?,?"; //if (!string.IsNullOrEmpty(txtTipoSaldo.Text)) sql += ",?"; string sql = "{CALL [Funciones].[Cuenta_Saldo_Anho] (?, ?"; sql += (!string.IsNullOrEmpty(txtTipoSaldo.Text))? "" : ", ?" + ")}"; // optional parameter var qt = wSheet.QueryTables.Add( connectionString, row.Cells , sql); qt.CommandType = XlCmdType.xlCmdSql; var ctas = qt.Parameters.Add("@ctas", XlParameterDataType.xlParamTypeLongVarChar); //ctas.SetParam(XlParameterType.xlConstant, cuentas); ctas.SetParam(XlParameterType.xlRange, wSheet.Cells[rowID, columnID])); ctas.RefreshOnChange = true; qt.Parameters.Add("@anho", XlParameterDataType.xlParamTypeInteger) .SetParam(XlParameterType.xlConstant, Int32.Parse(anho)); qt.Parameters.Add("@tipoSaldo", XlParameterDataType.xlParamTypeVarChar) .SetParam(XlParameterType.xlConstant, txtTipoSaldo.Text); //qt.BackgroundQuery = true; qt.FieldNames = false; qt.AdjustColumnWidth = false; qt.RefreshOnFileOpen = false; qt.Refresh(); } 

任何帮助是受欢迎的。 谢谢。