Возврат строки из скалярной функции через C#
Привет Ребята,
У меня есть таблица под названием Employees, содержащая два столбца FirstName и LastName.
Я создал функцию, которая принимает имя и фамилию и возвращает полное имя.
Он хорошо работает, когда выполняется из бэкэнда.
Теперь я делал консольное приложение на C#, которое делает то же самое, но не работает.
Я добавляю детали ниже.
----------------Табличный скрипт для заполнения данных ------------
CREATE TABLE Employee ( EmpID int PRIMARY KEY, FirstName varchar(50) NULL, LastName varchar(50) NULL, Salary int NULL, Address varchar(100) NULL, ) --Insert Data Insert into Employee(EmpID,FirstName,LastName,Salary,Address) Values(1,'Mohan','Chauahn',22000,'Delhi'); Insert into Employee(EmpID,FirstName,LastName,Salary,Address) Values(2,'Asif','Khan',15000,'Delhi'); Insert into Employee(EmpID,FirstName,LastName,Salary,Address) Values(3,'Bhuvnesh','Shakya',19000,'Noida'); Insert into Employee(EmpID,FirstName,LastName,Salary,Address) Values(4,'Deepak','Kumar',19000,'Noida'); ---------------Function -------------- <pre>Alter function fngetFullName ( @FirstName varchar(50), @LastName varchar(50) ) returns varchar(101) as begin DECLARE @Result VARCHAR(50); SELECT @Result= (Select @FirstName + ' '+@LastName) Return @Result end
----------------Вызываю то же самое из бэкенда---------
Select dbo.fngetFullName(FirstName,LastName) as Name,Salary from Employee
-------------------Код C# -----------------------
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp4 { class Program { private static string FullName; public object ConfigurationManager { get; private set; } static void Main(string[] args) { string FullName = GetLookupCodeFromShortCode("FirstName", "LastName"); Console.WriteLine("Full Name is", FullName); Console.ReadKey(); } public static string GetLookupCodeFromShortCode(string Fname, string LName) { using (var conn = new SqlConnection(@"Data Source=\VAIBHAVLOCAL;Initial Catalog=Dummy ; Integrated Security=SSPI")) { using (var cmd = new SqlCommand("dbo.fngetFullName(@FirstName,@LastName)", conn)) { cmd.CommandTimeout = 30; cmd.Parameters.Add("@FirstName", SqlDbType.VarChar); cmd.Parameters.Add("@LastName", SqlDbType.VarChar); cmd.Parameters["@FirstName"].Value = Fname; cmd.Parameters["@LastName"].Value = LName; conn.Open(); string getValue = cmd.ExecuteScalar().ToString(); if (getValue != null) { FullName = getValue.ToString(); } conn.Close(); return FullName; } } } } }
Что я уже пробовал:
Попробовал погуглить но ничего не вышло так здорово