为SQL参数分配空值

时间:2016-09-13 17:28:22

标签: vb.net gridview

我有一个具有gridview的应用程序。此特定网格视图的填充是可选的,因此在保存页面时,如果未填充网格视图,则会在存储过程中抛出错误,说明参数太多。所以,问题是,当未填充gridview时,如何为存储过程分配空值?用户将选中一个框,然后填充gridview,否则,不会选中该复选框,并且应通过存储过程将null值分配给gridview字段。

2 个答案:

答案 0 :(得分:1)

SQL Server存储过程(我假设SQL Server,您没有在Q中指定)可以为您的参数提供默认值,如下所示:

我正在制作场景因为你的问题缺乏细节

CREATE PROCEDURE dbo.ProcName(
    @Name VARCHAR(50) = NULL  //<- default to NULL
)
AS
BEGIN
   IF @Name IS NULL BEGIN
     SELECT TOP(1) * FROM dbo.Table  
   END
   ELSE BEGIN
     SELECT * FROM dbo.Table WHERE Name LIKE @Name + '%' 
   END
END

如果参数未通过,则仅使用默认参数值,如果传递@Name,则程序将使用您发送的内容。

<强>执行: 在代码中,您根本不添加参数,让存储过程处理它。

答案 1 :(得分:0)

感谢所有...... @Name VARCHAR(50)= NULL是我正在寻找的东西..