2015-03-16 4 views
-2
  1. Так у меня есть этот код внутри хранимой процедуры:C# DataSet, источник данных и хранимые процедуры

    select * from myTable where email = @email 
    

    предположить, что @email является nvarchar(50) и email столбец в таблице

  2. I имеют DataSet, который имеет вышеуказанную хранимую процедуру.

  3. У меня есть DataGridView, у которого есть источник данных в качестве набора данных, который использует хранимую процедуру.

Я хочу передать значение @email в хранимой процедуре. Это возможно?

+0

Да, с помощью вызова процедуры с параметр. Может ли у вас код C# для этого? – VMAtm

+1

Да, это возможно. Просто добавьте соответствующий параметр в свой 'SqlCommand' или все, что вы используете для получения результатов. d, чтобы сказать больше, не видя ваш фактический образец кода. –

+0

google C# .NET ADO PARAMETERS –

ответ

1

Да. Предполагая, что команда SqlCommand «команда», просто добавьте в нее параметры. См here

string Email="Email"; 
string email="[email protected]"; 
command.Parameters.Add(new SqlParameter(Email, email)); 

Конечно, хранимая процедура должна ожидать параметр также.

CREATE PROCEDURE [dbo].[usp_YourStoredProc] 

( @email [NVARCHAR (50)] = NULL, . . .

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); 
Смежные вопросы