Hi,
A mere help needed, I am creating an mvc app wherein i take user input say CustId CustName and CustPhone.I have written a procedure for it which works fine when i enter all 3 values as input.
Now, sometimes need be,i may
not enter CustName or CustPhone for an id.
if i do so i get an error "
Procedure or function 'NewCustomer' expects parameter '@ipv_CustomerName', which was not supplied.
how can i achieve this??
Please Help.
Thanks in advance.
[EDIT - moved from comment]
This is my Entity class:
public class CustomerDetails
{
public int CustomerId { get; set; }
public string CustomerName { get; set; }
public string CustomerPhone { get; set; }
public CustomerDetails()
{
CustomerId = 123;
CustomerName = "Customer";
CustomerPhone = "9876543210";
}
}
----------------------------------------
Code in the data access layer:
SqlParameter ipv_CustomerId = cmd.CreateParameter();
SqlParameter ipv_CustomerName = cmd.CreateParameter();
SqlParameter ipv_CustomerPhone = cmd.CreateParameter();
ipv_CustomerId.ParameterName = "@ipv_CustomerId";
ipv_CustomerName.ParameterName = "@ipv_CustomerName";
ipv_CustomerPhone.ParameterName = "@ipv_CustomerPhone";
ipv_CustomerId.SqlDbType = SqlDbType.Int;
ipv_CustomerName.SqlDbType = SqlDbType.VarChar;
ipv_CustomerPhone.SqlDbType = SqlDbType.VarChar;
ipv_CustomerId.Value = input.CustomerId;
ipv_CustomerName.Value = input.CustomerName;
ipv_CustomerPhone.Value = input.CustomerPhone;
cmd.Parameters.Add(ipv_CustomerId);
cmd.Parameters.Add(ipv_CustomerName);
cmd.Parameters.Add(ipv_CustomerPhone);
rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected < 1)
{
added = false;
}
else
{
added = true;
}
----------------------------------------------
The Procedure:
Create PROCEDURE NewCustomer
(@ipv_CustomerId int,
@ipv_CustomerName varchar(20),
@ipv_CustomerPhone varchar(20))
AS
Insert into Customer_Table values(@ipv_CustomerId,
@ipv_CustomerName,
@ipv_CustomerPhone)
----------------------------------------
I want to be able to pass null values to the procedure for CustomerName and CustomerPhone.
[/EDIT]