不想传递所有参数

时间:2018-03-13 09:56:17

标签: c#

这是我的存储过程:

ALTER Procedure [dbo].[insertDetails] 
(
    @eno int, 
    @name varchar(max), 
    @address varchar(max)=null, 
    @phone varchar(max)=null, 
    @mailid varchar(max)=null 
)
as 
begin
    insert into para5 values(@eno, @name, @address, @phone, @mailid)
end 

以下是我的代码:

private void Insert()
{
    TestEntities te = new TestEntities();
    var obj = te.insertDetails(1, "");
}

我不想传递所有参数。

1 个答案:

答案 0 :(得分:0)

您的存储过程至少需要两个参数(@eno和@name)。

你应该发送它们。

相反,您可以为不想发送的参数指定默认值,例如:

ALTER Procedure [dbo].[insertDetails]
(
    @eno int,
    @name varchar(max) = 'NEW USER',
    @address varchar(max)=null,
    @phone varchar(max)=null,
    @mailid varchar(max)=null
)
as
begin
insert into para5 values(@eno, @name, @address, @phone, @mailid)
end