Вызов хранимой процедуры с параметром для возврата списка - PullRequest
0 голосов
/ 31 мая 2019

У меня есть хранимая процедура с параметрами, которую я хочу передать в виде параметров, возвращающих индекс списка. Как мне сделать это в моем контроллере

CREATE PROCEDURE [dbo].[spFlugReport]     
(      
   @AccNo INTEGER,
   @DateFrom DATE, 
   @DateTo DATE    
)      
AS
BEGIN
    SELECT * 
    FROM [dbo].[KIRData] 
    WHERE AccNo = @AccNo 
      AND StartDate >= @DateFrom 
      AND EndDate <= @DateTo 
      AND Prod = 'Air'
END

C # код:

public ActionResult Report()
{
    using(DataModel db = new DataModel())
    {
        SqlParameter[] param = new SqlParameter[] {
            new SqlParameter("@AccNo ,"),
            new SqlParameter("@DateFrom ,"),
            new SqlParameter("@DateTo ,")
        };


    }
}

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Полагаю, вы ищете что-то подобное.Если нет, не могли бы вы предоставить более подробную информацию.

DataTable database = new DataTable();
string dbString = ConfigurationManager.ConnectionStrings["YourConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(dbString))
using (SqlCommand cmd = new SqlCommand("dbo.spFlugReport", con))
{
    using(DataModel db = new DataModel())
    {
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.AddWithValue("@AccNo", AccNo);
        cmd.Parameters.AddWithValue("@DateFrom", DateFrom);
        cmd.Parameters.AddWithValue("@DateTo", DateTo);

        con.Open();
        cmd.ExecuteNonQuery();               
    }
}

По этой ссылке вы создали ConnectionString для YourConnection: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/creating-a-connection-string

0 голосов
/ 31 мая 2019

добро пожаловать в стек переполнения. Вот полезная ссылка, которая может помочь вам достичь того, что вам нужно сделать.

https://csharp -station.com / Учебник / AdoDotNet / Lesson07

а вот вопрос с похожим вопросом к вашей проблеме Как выполнить хранимую процедуру в программе C #

Тем не менее, вот краткий пример того, что вам нужно для передачи параметра в хранимую процедуру.

// create and open a connection object
SqlConnection conn = new SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI");
conn.Open();

// 1.  create a command object identifying the stored procedure
SqlCommand cmd  = new SqlCommand("CustOrderHist", conn);

// 2. set the command object so it knows to execute a stored procedure
cmd.CommandType = CommandType.StoredProcedure;

// 3. add parameter to command, which will be passed to the stored procedure
cmd.Parameters.Add(new SqlParameter("@CustomerID", custId));

// execute the command
SqlDataReader rdr = cmd.ExecuteReader();

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...