2013-08-06 5 views
0

여기 내 재치가 정말 좋습니다. 기본적으로 내가 DotNetNuke에 익숙하지 않고 작업하고있는 사이트가 원래 나에 의해 만들어지지 않았기 때문에 작업해야하는 파일과 디렉토리를 찾기가 어려웠습니다. 나는 높고 낮은 해결책을 찾았지만 나는 그것의 바닥에 도달 할 수없는 것처럼 보였다. 그리고 이것은 아마도 간단한 해결책 일 것이라고 확신한다.프로 시저 또는 함수에 지정된 인수가 너무 많습니다. C# DotNetNuke

문제 : 사용자가 채우고 그 데이터가 데이터베이스 테이블에 삽입되는데 오류가 발생합니다.

오류 발생 : 프로 시저 또는 함수 AddFranchiseFollowUp에 인수가 너무 많습니다.

나는 며칠 동안이 일을 해왔으며 DotNetNuke에 익숙하지 않아 솔루션을 찾기 위해 더 많은 정보가 필요한지 잘 모르겠습니다. 그렇다면 사전에 사과해야합니다. 이 소스 코드는 저에 의해 작성된 것이 아니며 이것이 어떻게 발견 되었습니까? dev 사이트에서이 양식의 작동 버전이 있고 라이브 사이트의 데이터베이스가 개발자와 정확히 동일하다는 것을 확인했습니다. 방금 모듈의 파일을 FTP를 통해 dev에서 라이브 사이트로 복사했지만 어떤 종류의 다른 파일을 복사해야한다고 생각하기 시작 했습니까? 나는 무엇을 해야할지 잘 모르겠다. 그리고 이것이 바보 같은 질문이라면 나는 미안하다. 그러나 나는 이것을 어떤 식 으로든 알아 내야 할 필요가있다.

다른 비정상적인 경우에도 .ascx.cs 및 .ascx 기본 파일에서 오타가 있는지 두 번 확인했지만 내 오류가 발생한 지점을 정확히 파악하지 못했습니다. 다행히도 나는 이것에 대해 더 많은 것을 배울 수 있고 이것을 읽거나 해결책을 제공하는 모든 사람들에게 감사 할 수 있습니다!

CodeFile FranchiseEnqDetails.ascx.cs 출처 : 당신의 모듈 그냥 .CS 파일에 변경이 도움이되지 않습니다 만들기, 컴파일 된 모듈이다

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; 
      } 
     } 
    } 
    } 
} 
+1

오류 메시지는 설명이 충분합니다. SQL Server Manager에서 'AddFranchiseFollowUp' 저장 프로 시저를 열고 매개 변수를 찾습니다. 동일한 수의 매개 변수를 지정하고 이름을 다시 확인하십시오. – PoweredByOrange

답변

1

경우, 당신은 또한 모듈을 다시 컴파일해야합니다.

컴파일 된 방법을 어떻게 알 수 있습니까? 웹 사이트의 BIN 폴더를 확인하여 모듈 이름과 일치하는 DLL이 있는지 확인하십시오.

+0

또한 컴파일 된 모듈 일 필요는 없습니다. DLL을 제거하고 .cs 파일을 App_Code 디렉토리에 저장하면 JIT 컴파일이 변경됩니다. – EfficionDave

관련 문제