Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Dapper从C调用存储过程时出现问题#_C#_Sql Server_Dapper - Fatal编程技术网

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

C# 使用Dapper从C调用存储过程时出现问题#,c#,sql-server,dapper,C#,Sql Server,Dapper,我对C#、T-SQL和Dapper完全陌生,并且尝试执行一个存储过程,但是我得到了 System.Data.SqlClient.SqlException:围绕“Josh”的语法不正确 我的存储过程很简单: CREATE PROCEDURE [compName\Josh].[josh_test_insert] @ssn FLOAT, @gpa FLOAT AS BEGIN SET NOCOUNT ON; INSERT INTO [compName\Josh].j

我对C#、T-SQL和Dapper完全陌生,并且尝试执行一个存储过程,但是我得到了

System.Data.SqlClient.SqlException:围绕“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_测试有两个领域:SSN和GPA

C#代码是

public void InsertPerson(浮动ssn、浮动gpa)
{
使用(IDbConnection connection=new System.Data.SqlClient.SqlConnection(Helper.CnnVal(“SampleDB”))
{
列表应用程序=新列表();
Add(new_app{ssn=ssn,gpa=gpa});
执行(“compName\\Josh.Josh\u test\u 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 });
    }
}

并在没有无用的
列表的情况下传递参数。

除了正确转义名称之外,可能还需要设置命令类型,如;。
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 });
    }
}