【发布时间】:2020-12-10 15:26:01
【问题描述】:
我有以下标量值 SQL Server 函数:
CREATE FUNCTION [dbo].[udf_Share]
(@date1 datetime,
@date2 nvarchar(max),
@date3 nvarchar(max) )
RETURNS bit
AS
BEGIN
DECLARE @date2_ datetime = CAST(@date2 AS datetime)
DECLARE @date3_ datetime = CAST(@date3 AS datetime)
RETURN (SELECT
CASE
WHEN (@date1 < @date3_ AND @date2_ >= @date3_) OR
(@date2_ < @date3_ AND @date1 >= @date3_)
THEN 1
ELSE 0
END)
END
还有以下视图模型:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
string connString = @"Server =.\SQL2K17; Database = SampleDB; Trusted_Connection = True;";
try
{
using (SqlConnection conn = new SqlConnection(connstring))
{
string query = @"SELECT dbo.udf_Share(@date1, @date2, @date3); ";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.Add(new SqlParameter("@date1", "01/01/2016"));
cmd.Parameters.Add(new SqlParameter("@date2", "01/01/2021"));
cmd.Parameters.Add(new SqlParameter("@date3", "01/10/2019"));
conn.Open();
var objectResult = cmd.ExecuteScalar();
int Result = Convert.ToInt32(objectResult);
Console.WriteLine(Result.ToString());
conn.Close();
}
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
}
}
}
}
正在建立连接,但我无法使用该功能。也许我没有正确传递参数。我做错了什么?
提前致谢!
【问题讨论】:
-
第一行有语法错误。您发送的是“@effdate2”,但请求的是“@date2”。
标签: c# sql-server asp.net-mvc viewmodel