gpt4 book ai didi

c# - 使用 Dapper 从 C# 调用存储过程时出现问题

转载 作者:行者123 更新时间:2023-11-30 21:32:17 25 4
gpt4 key购买 nike

我是 C#、T-SQL 和 Dapper 的新手,正在尝试执行存储过程,但我得到了

System.Data.SqlClient.SqlException: Incorrect syntax around 'Josh'

我的存储过程很简单:

CREATE PROCEDURE [compName\Josh].[josh_test_insert]
@ssn FLOAT,
@gpa FLOAT
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO [compName\Josh].josh_testing
VALUES (@ssn, @gpa);
END
GO

其中josh_testing有SSN和GPA两个字段。

C#代码是

public void InsertPerson(float ssn, float gpa)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("SampleDB")))
{
List<new_app> apps = new List<new_app>();
apps.Add(new new_app { ssn = ssn, gpa = gpa });
connection.Execute("compName\\Josh.josh_test_insert @ssn, @gpa",apps);
}
}

有人知道我在这里缺少什么吗?

最佳答案

只需像在 Management Studio 中那样转义 sp 的名称:

public void InsertPerson(float ssn, float gpa)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("SampleDB")))
{
connection.Execute("EXEC [compName\\Josh].[josh_test_insert] @ssn, @gpa", new { ssn = ssn, gpa = gpa });
}
}

并且传递无用的参数List<>

关于c# - 使用 Dapper 从 C# 调用存储过程时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52428430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com