使用存储过程

CREATE Proc Select_Contact_ByName
@Name Varchar(50) = ''
As
if( @Name = '' Or @Name = null )
Select * From Contact
else
Select * From Contact Where Name Like '%'+@Name+'%'
GO

    private SqlParameter sqlParameter;
    private string name = String.Empty;

    name = tb.Text.Trim();            //这是用户在TextBox中输入的数据。
    da.SelectCommand = new SqlCommand("Select_Contact_ByName",connection);   //da 为SqlDataAdapter ,用它调用存储过程

  
    da.SelectCommand.CommandType = CommandType.StoredProcedure; //这一句表示SqlDataAdapter调用执行的是一个存储过程。如果没有这一句,该存储过程将不会被执行。

  sqlParameter  = new SqlParameter("@Name");
    sqlParameter.SqlDbType = SqlDbType.VarChar;
    sqlParameter.Size = 50;
    sqlParameter.Value = name;
    da.SelectCommand.Parameters.Add(sqlParameter)); //向存储过程传入一个参数。

其他写法  command.Parameters.Add ("@Name", SqlDbType.VarChar,50).Value = name;

原文地址:https://www.cnblogs.com/terrorpig/p/1344687.html