过程或函数指定的参数太多,C#DotNetNuke
我真是束手无策。基本上是因为我对DotNetNuke不太熟悉,而且我正在工作的站点最初不是我自己创建的,因此很难找到我需要工作的文件和目录。我到处寻找一个解决方案,但我似乎无法找到它的底部,我相信这可能是一个简单的解决办法 问题:我有一个用户填写的表单,然后数据被插入到数据库表中,但我收到一个错误 抛出错误:过程或函数AddFollowUp指定的参数太多 我已经做了几天了,因为我对DotNetNuke不是很熟悉,我不确定是否需要更多信息来找到解决方案,所以如果是这样的话,我提前道歉。这个源代码不是我写的,这就是我发现它的方式,在开发网站上有一个工作版本的这个表单,并且我已经确保了实时网站的数据库与开发完全相同。我只是通过FTP将模块的文件从开发网站复制到了实时网站,但我开始认为我需要复制另一个类似的文件?我不知道该怎么办,如果这是一个愚蠢的问题,我很抱歉,但我需要以这样或那样的方式来解决这个问题 我还仔细检查了.ascx.cs和.ascx基本文件中是否有任何其他不规则之处,但似乎无法确定错误的来源。希望我能得到一个答案,并了解更多关于这一点,感谢所有阅读本文或提供一个解决方案 代码文件authorizenqdetails.ascx.cs来源:过程或函数指定的参数太多,C#DotNetNuke,c#,dotnetnuke,C#,Dotnetnuke,我真是束手无策。基本上是因为我对DotNetNuke不太熟悉,而且我正在工作的站点最初不是我自己创建的,因此很难找到我需要工作的文件和目录。我到处寻找一个解决方案,但我似乎无法找到它的底部,我相信这可能是一个简单的解决办法 问题:我有一个用户填写的表单,然后数据被插入到数据库表中,但我收到一个错误 抛出错误:过程或函数AddFollowUp指定的参数太多 我已经做了几天了,因为我对DotNetNuke不是很熟悉,我不确定是否需要更多信息来找到解决方案,所以如果是这样的话,我提前道歉。这个源代码不
using System;
using System.Data.SqlClient;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Services.Exceptions;
using DotNetNuke.Services.Localization;
using TemplateParser;
namespace YourCompany.Modules.FranchiseEnqDetails
{
partial class FranchiseEnqDetails : PortalModuleBase
{
protected void Page_Load(object sender, EventArgs FranchiseEnqDetails)
{
if (!IsPostBack)
{
hlFile1.Visible = false;
hlFile2.Visible = false;
lblSuccessMsg.Visible = false;
}
}
protected void btnSubmit_Click1(object sender, EventArgs e)
{
if (INsertFPFranchiseUserDetails())
{
btnSubmit.Enabled = false;
hlFile1.Visible = true;
hlFile2.Visible = true;
lblSuccessMsg.Visible = true;
}
}
internal bool INsertFPFranchiseUserDetails()
{
SqlConnection con = null;
SqlCommand cmd = null;
string ConnString = System.Configuration.ConfigurationManager.AppSettings["SiteSqlServer"].ToString();
try
{
con = new SqlConnection(ConnString);
cmd = new SqlCommand();
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqName", txtFirstName.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqEmailId", txtEmailAddress.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqPhoneNo", txtPhoneNo.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqStreet", txtStreet.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqCity", txtCity.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqState", txtState.Text));
//cmd.Parameters.Add(new SqlParameter("@FranchiseEnqZip", txtZip.Text));
cmd.Parameters.Add(new SqlParameter("@FirstName", txtFirstName.Text));
cmd.Parameters.Add(new SqlParameter("@LastName", txtLastName.Text));
cmd.Parameters.Add(new SqlParameter("@EmailAddress", txtEmailAddress.Text));
cmd.Parameters.Add(new SqlParameter("@Address1", txtAddress1.Text));
cmd.Parameters.Add(new SqlParameter("@Address2", txtAddress2.Text));
cmd.Parameters.Add(new SqlParameter("@City", txtCity.Text));
cmd.Parameters.Add(new SqlParameter("@fpState", txtState.Text));
cmd.Parameters.Add(new SqlParameter("@Zip", txtZip.Text));
cmd.Parameters.Add(new SqlParameter("@PhoneNo", txtPhoneNo.Text));
con.Open();
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "dbo.AddFranchiseFollowUp";
cmd.ExecuteNonQuery();
con.Close();
return true;
}
catch (Exception ex)
{
lblError.Text = ex.Message;
return false;
}
finally
{
if (con != null)
{
con.Close();
con.Dispose();
con = null;
}
if (cmd != null)
{
cmd.Dispose();
cmd = null;
}
}
}
}
}
如果您的模块是一个已编译的模块,仅对.CS文件进行更改是没有帮助的,您还需要重新编译该模块
如何判断它是否已编译?查看网站的BIN文件夹,查看其中是否有与模块名称匹配的DLL。错误消息说明性很强。在SQL Server Manager中打开
addFollowUp
存储过程,并查找其参数。确保指定的参数数量相同,并仔细检查名称。此外,如果它是已编译的模块,则不一定非要如此。您可能只需要删除DLL并将.cs文件放在App_Code目录中,这将导致对更改进行JIT编译。