C#数据集,数据源和存储过程

时间:2015-03-16 13:24:21

标签: c# sql-server stored-procedures datagridview

  1. 所以我在存储过程中有这个代码:

    select * from myTable where email = @email
    

    假设@emailnvarchar(50)email为表格中的列

  2. 我有DataSet具有上述存储过程。

  3. 我有一个DataGridView,它将数据源作为使用存储过程的数据集。
  4. 我想将值传递给存储过程中的@email。这可能吗?

2 个答案:

答案 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);