2017-08-07 16 views
-2

私はMVCフレームワークを使用しています。SQLストアドプロシージャにパラメータを渡すには?

私の見解では、さまざまなオプションが設定されたドロップダウンメニューがあり、そのドロップダウンメニューの選択に基づいて、データベースから関連するデータを取得できるようにしたいと考えています。現在、選択された値はoptionSelectedという変数に格納されます。

データは以下の通りであるSQLストアドプロシージャを介して取得され:

CREATE PROC [Production].[p_optionData] 

AS 

SELECT TOP 125 **optionSelected 
FROM [Production].[gen_raw_mod] 
WHERE [GPN] = '1234' AND [TIMESTAMP] >= '2017-01-12 00:00:00' AND [TIMESTAMP] <= '2017-01-18 23:59:59' 
ORDER BY [TIMESTAMP] ASC 

GO 

のパラメータを設定するために選択されたオプションの値を使用する方法があったのであれば、私は思っていましたストアドプロシージャ?私はそれを見ているが、私は運がない。

アドバイスをお寄せいただきありがとうございます。これは比較的新しいものです。

+1

あなたは間違いなく、選択した値を使用することができますが、あなたはそうデータをフェッチするために使用するコードを追加することができます何を変えるか教えてください – Dumisani

+0

これまでに何がありますか?あなたは、SQLやあなたの(おそらく)JavaScriptコードのパラメータに値を渡す方法について助けが必要ですか? – Leonidas199x

+1

私のアドバイスは、Googleに習うことが新しいプログラマーとしてあなたの最も貴重なスキルになることです。 –

答えて

0

は、この資料の読み取りを持っている:

https://docs.microsoft.com/en-us/sql/relational-databases/stored-procedures/create-a-stored-procedure

それはに渡すことができる変数を使用してストアドプロシージャを作成する方法の例を示しますあなたのコードでは、それはようなものになるだろう:。

CREATE PROC [Production].[p_optionData] 

    @intGPN    INT   , 
    @dteTimeStampStart DATETIME , 
    @dteTimeStampEnd DATETIME; 

AS 

SELECT [Add required columns here] 
FROM [Production].[gen_raw_mod] 
WHERE [GPN] = @intGPN AND [TIMESTAMP] >= @dteTimeStampStart AND [TIMESTAMP] <= @dteTimeStampEnd 
ORDER BY [TIMESTAMP] ASC 

GO 

必要に応じて、正しいDATETIMEデータ型を使用してください。

編集:あなたは、動的選択を持ってする方法を求めている場合は、もう一度ご質問を読んだ:

CREATE PROC [Production].[p_optionData] 

    @strOptionSelected NVARCHAR(100) 

AS 

    DECLARE @strSQLQuery NVARCHAR(MAX); 

    SELECT @strSQLQuery = 'SELECT TOP 125 '+ @strOptionSelected + ' FROM [Production].[gen_raw_mod] WHERE [GPN] = ''''1234'''' AND [TIMESTAMP] >= ''''somedate'''' AND [TIMESTAMP] <= ''''somedate'''' ORDER BY [TIMESTAMP] ASC;'; 

    sp_executesql @strSQLQuery; 
GO 
+0

ご回答いただきありがとうございます。いくつかの研究の後で、私はダイナミックな選択をしています。私はパラメータを宣言する方法を理解していますが、JavaScriptファイル内のoptionSelected変数をパラメータ参照する方法を理解できません。アドバイスはありますか?私は本当にあなたの助けに感謝します – LM2016

+0

怖い私はそのような方法でJavaScriptを使ったことはありません。あなたがこれまでに持っていたコードを投稿すれば、誰かが助けることができると確信しています。 – Leonidas199x

関連する問題