所以我在存储过程中有这个代码:
select * from myTable where email = @email
假设@email
为nvarchar(50)
且email
为表格中的列
我有DataSet
具有上述存储过程。
DataGridView
,它将数据源作为使用存储过程的数据集。我想将值传递给存储过程中的@email。这可能吗?
答案 0 :(得分:1)
是。假设SqlCommand对象'command',只需将参数添加到它。见here
string Email="Email";
string email="somebody@hotmail.com";
command.Parameters.Add(new SqlParameter(Email, email));
当然,您的存储过程也需要参数。
CREATE PROCEDURE [dbo].[usp_YourStoredProc]
( @Email [nvarchar(50)] = NULL, 。 。
答案 1 :(得分:0)
您可以使用此
// Create the command and set its properties.
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "ProcedureName";
command.CommandType = CommandType.StoredProcedure;
// Add the input parameter and set its properties.
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@email";
parameter.SqlDbType = SqlDbType.NVarChar;
parameter.Direction = ParameterDirection.Input;
parameter.Value = textEmail.Text;
// Add the parameter to the Parameters collection. command.Parameters.Add(parameter);