Click here to Skip to main content
15,887,746 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello, does anyone face this error before? After I add one more column to the table, then update the store procedure, then I recompile the site, Meanwhile, I got this error message. The following are the stack trace. Does anyone can help?

Procedure or function 'spInsertOrganization' expects parameter '@nconnectionType', which was not supplied.

Exception Details: System.Data.SqlClient.SqlException: Procedure or Function 'spInsertOrganization' expects parameter '@nconnectionType', which was not supplied.


Source Error:
Line 92: command.Parameters.Add(new SqlParameter("networkAvailability", organization.NetworkAvailability));
Line 93: command.Parameters.Add(new SqlParameter("nconnectionType", organization.NConnectionType));
Line 94: command.ExecuteNonQuery();
Line 95: }
Line 96: }
Stack Trace:

VB
[SqlException (0x80131904): Procedure or function 'spInsertOrganization' expects parameter '@nconnectionType', which was not supplied.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1753986
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5296058
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +558
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1682
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +269
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite) +1379
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +175
   System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) +205
   System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +160
   MMSDataAccessLayer.OrganizationDAL.InsertOrganization(Organization organization) in D:\backup files sqlserver\material management new latest\Materials Management System Backup\MMSDataAccessLayer\OrganizationDAL.cs:94
   RegionalDataOperator_Organization.btnAddOrganization_Click(Object sender, EventArgs e) in d:\backup files sqlserver\material management new latest\Materials Management System Backup\MMSUI\RegionalDataOperator\Organization.aspx.cs:197
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9552602
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724


My sotored Procedure:

C#
public void InsertOrganization(Organization organization)
{
    using (SqlConnection _connection = new SqlConnection(this._connectionString))
    {
        _connection.Open();
        using (SqlCommand command = _connection.CreateCommand())
        {
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "spInsertOrganization";
            command.Parameters.Add(new SqlParameter("organizationName", organization.OrganizationName));
            command.Parameters.Add(new SqlParameter("authority", organization.Authority));
            command.Parameters.Add(new SqlParameter("typeOfOrganization", organization.TypeOfOrganization ));
            command.Parameters.Add(new SqlParameter("phoneNumber", organization.PhoneNumber));
            command.Parameters.Add(new SqlParameter("phoneNumber2", organization.PhoneNumberTwo));
            command.Parameters.Add(new SqlParameter("fax", organization .Fax));
            command.Parameters.Add(new SqlParameter("organizationSector", organization.OrganizationSector));
            command.Parameters.Add(new SqlParameter("woredaID", organization.WoredaID));
            command.Parameters.Add(new SqlParameter("zoneID", organization.ZoneID));
            command.Parameters.Add(new SqlParameter("websiteURL", organization.WebsiteURL));
            command.Parameters.Add(new SqlParameter("internetAvailability", organization.NetworkAvailability));
            command.Parameters.Add(new SqlParameter("connectionType", organization.ConnectionType));
command.Parameters.Add(new SqlParameter("networkAvailability",organization.NetworkAvailability));
command.Parameters.Add(new SqlParameter("nconnectionType", organization.NConnectionType));
command.ExecuteNonQuery();
        }
    }
}
Posted
Updated 2-Feb-21 7:14am
v2
Comments
kishore sharma 28-Aug-13 5:20am    
You close the visual studio and reopen and then run.
try once
mahitem 28-Aug-13 5:32am    
I try it but i have no solution
nawhadiya ka purwa barabanki 6-Sep-21 15:28pm    
[SqlException (0x80131904): An insufficient number of arguments were supplied for the procedure or function MTR.Fn_GetAppMedia.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +2573710
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +6014662
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +297
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4291
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +59
System.Data.SqlClient.SqlDataReader.get_MetaData() +91
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) +446
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) +2698
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +1540
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +65
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +251
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +43
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +12
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +140
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +111
Library.Database.ExecuteSelect(String statement, SqlParameter[] parms) +297
OnLineApplicationDL.DataLayer.GetAppMedia(Int16 AppMediaID, Int16 Type) +206
frmRegistration.GetAppMedia() +44
frmRegistration.Page_Load(Object sender, EventArgs e) +760
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +52
System.Web.UI.Control.OnLoad(EventArgs e) +97
System.Web.UI.Control.LoadRecursive() +61
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +693

Match the parameter name to your stored procedure:
C#
command.Parameters.Add(new SqlParameter("@nconnectionType", organization.NConnectionType));
And make sure that the value you are supplying is not null.
 
Share this answer
 
Comments
mahitem 28-Aug-13 5:28am    
Please can u brief it i try it before the parameter name in my stored procedure are the same
OriginalGriff 28-Aug-13 5:43am    
Are you sure? The error message is quite specific:
Exception Details: System.Data.SqlClient.SqlException: Procedure or Function 'spInsertOrganization' expects parameter '@nconnectionType', which was not supplied.
Check the '@' character - I would normally expect parameters to have them, then double check the value you are passing in the C# code is not null.
mahitem 28-Aug-13 6:19am    
This the Class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MMSEntities
{
[Serializable]
public class Organization
{
private int _organizationID;
private string _organizationName;
private string _authority;
private string _typeOfOrganization;
private string _phoneNumber;
private string _phoneNumber2;
private string _fax;
private string _internetAvailability;
private string _connectionType;
private string _networkAvailability;
private string _nconnectionType;
private string _websiteURL;
private string _websiteDeveloper;
private string _organizationSector;
private int _woredaID;
private int _zoneID;

public int OrganizationID
{
get
{
return _organizationID;
}
set
{
_organizationID = value;
}
}
public string OrganizationName
{
get
{
return _organizationName;
}
set
{
_organizationName = value;
}
}
public string Authority
{
get
{
return _authority;
}
set
{
_authority = value;
}
}
public string TypeOfOrganization
{
get
{
return _typeOfOrganization;
}
set
{
_typeOfOrganization = value;
}
}
public string PhoneNumber
{
get
{
return _phoneNumber;
}
set
{
_phoneNumber = value;
}
}
public string PhoneNumberTwo
{
get
{
return _phoneNumber2;
}
set
{
_phoneNumber2 = value;
}
}
public string Fax
{
get
{
return _fax;
}
set
{
_fax = value;
}
}
public string InternetAvailability
{
get
{
return _internetAvailability;
}
set
{
_internetAvailability = value;
}
}
public string ConnectionType
{
get
{
return _connectionType;
}
set
{
_connectionType = value;
}
}
public string NetworkAvailability
{
get
{
return _networkAvailability;
}
set
{
_networkAvailability = value;
}
}
public string NConnectionType
{
get
{
return _nconnectionType;
}
set
{
_nconnectionType = value;
}
}
public string WebsiteURL
{
get
{
return _websiteURL;
}
set
{
_websiteURL = value;
}
}
public string WebsiteDeveloper
{
get
{
return _websiteDeveloper;
}
set
{
_websiteDeveloper = value;
}
}
public string OrganizationSector
{
get
{
return _organizationSector;
}
set
{
_organizationSector = value;
}
}
public int WoredaID
{
mahitem 28-Aug-13 6:25am    
Please help me
OriginalGriff 28-Aug-13 7:05am    
It's not the '@' character, SP's will work happily without them.
Which leave us the other thing I said: so, for the third time "make sure that the value you are supplying is not null" - that means the value you set the parameter to in the C# code. This line:
command.Parameters.Add(new SqlParameter("nconnectionType", organization.NConnectionType));
i.e. have you checked that organization.NConnectionType is not null?
Please help I try more than a month

Procedure or function 'sp_CheckMobiles_number' expects parameter '@mobile', which was not supplied.

// This is my code
		
		  public static DataTable getOutput(string str)
        {
             
            SqlConnection con = Connection.getConnection();
			 SqlDataAdapter adapter = new SqlDataAdapter(str,con);
                     SqlCommand sqlCmd = new SqlCommand(str,con);
                     sqlCmd.CommandText = "sp_CheckMobiles_number";
                    sqlCmd.CommandType = CommandType.StoredProcedure;
                   sqlCmd.Parameters.AddWithValue("@mobile",SqlDbType.BigInt).Value=112233;
				     DataSet version = new DataSet();
                     adapter.Fill(version);
                            
                    DataTable dt = version.Tables[0];
                   return dt;
		}
		
		
		//This is my stored procedure
		
		
		create PROCEDURE [dbo].[sp_CheckMobiles_number]
      @mobile BIGINT
AS
BEGIN
      SET NOCOUNT ON;
 
      DECLARE @Exists BIGINT
 
      IF EXISTS( select dbo.[user].PKID, dbo.[user].USER_ID, dbo.[user].NAME, dbo.[user].MOBILE, dbo.[user].COUNTRY_CODE, dbo.[user].IS_ENABLED, dbo.[user].TYPE, 
                      dbo.[user].STATUS, dbo.[order].OID, dbo.[order].ORDERID, dbo.[order].PKID AS PKID, dbo.[order].DRIVER_PKID, dbo.[order].SCH_DATE, dbo.[order].FROM_ADDR, 
                      dbo.[order].TO_ADDR, dbo.[order].PAY_TYPE, dbo.[order].STATUS AS Status
      FROM         dbo.[user] left  JOIN
                      dbo.[order] ON dbo.[user].pkid = dbo.[order].PKID 
                      where dbo.[order].STATUS='fin''can' and dbo.[user].MOBILE=112233)
      BEGIN
            SET @Exists = @mobile
      END
      ELSE
      BEGIN
            SET @Exists = 0
          
      END
 
      RETURN @mobile
END

DECLARE @ReturnValue bigint
EXEC @ReturnValue = sp_CheckMobiles_number 112233
SELECT @ReturnValue
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900