ahmed_sa Ответов: 2

Как заставить функцию C# вызывать хранимый proc из SQL и возвращать строку ?


Я работаю в visual studio 2015 c#, и мне нужно вызвать хранимую процедуру из sql 2012
и сделайте функцию c# для вызова хранимой процедуры и получения одной строки значения
в случае name = @name

ALTER PROCEDURE [dbo].[ATC_Code_ByGeneric_H]  
    @Lvl_Name nvarchar(500)  
AS  
    SELECT     Tbl_Lvl1.Code + Tbl_Lvl2.Code + Tbl_Lvl3.Code + Tbl_Lvl4.Code + Tbl_Lvl5.Code AS ATC_Code  
    FROM         Tbl_Lvl1  
                 INNER JOIN  
                 Tbl_Lvl2  
                 ON Tbl_Lvl1.S_ID = Tbl_Lvl2.UpLvl_ID  
                 INNER JOIN  
                 Tbl_Lvl3  
                 ON Tbl_Lvl2.S_ID = Tbl_Lvl3.UpLvl_ID  
                 INNER JOIN  
                 Tbl_Lvl4  
                 ON Tbl_Lvl3.S_ID = Tbl_Lvl4.UpLvl_ID  
                 INNER JOIN  
                 Tbl_Lvl5  
                 ON Tbl_Lvl4.S_ID = Tbl_Lvl5.UpLvl_ID  
    WHERE     (Tbl_Lvl5.Lvl_Name = @Lvl_Name) and Tbl_Lvl5.human=1  
    RETURN

На самом деле мне нужно получить ATC_Code в случае Lv1_Name = @Lv1_Name
Как создать функцию return string с помощью c# для вызова хранимой процедуры ?

Что я уже пробовал:

How to make function by c# to call stored proc from sql and return string

2 Ответов

Рейтинг:
1

CHill60

Раздел" Что я пробовал: "- это то место, где вы должны были поместить код C#, который вы пробовали.

Вот некоторые исследовательские материалы из Гугл[^]

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

К сожалению, мы не предоставляем ни написания кода, ни исследовательской услуги на этом форуме.


Рейтинг:
1

OriginalGriff

Попробуй:

string s;
using (SqlConnection con = new SqlConnection(strConnect))
    {
    con.Open();
    using (SqlCommand cmd = new SqlCommand("ATC_Code_ByGeneric_H", con))
        {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@Lvl_Name", levelName);
        s = (string) com.ExecuteScalar();
        }
    }