[英]Trouble using Dapper to call stored procedure from C#
I am completely new to C#, T-SQL, and Dapper and was trying to execute a stored procedure, but I am getting 我对C#,T-SQL和Dapper完全陌生,并试图执行存储过程,但是我越来越
System.Data.SqlClient.SqlException: Incorrect syntax around 'Josh'
System.Data.SqlClient.SqlException:“ Josh”周围的语法不正确
My stored procedure is simply: 我的存储过程很简单:
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
Where josh_testing has two fields of SSN and GPA. 其中josh_testing具有SSN和GPA两个字段。
The C# code is 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);
}
}
Anyone know what I'm missing here? 有人知道我在这里想念的吗?
Just escape the name of the sp as you would do in Management Studio: 就像在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 });
}
}
And pass the parameters without useless List<>
s. 并传递没有无用的
List<>
的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.