gpt4 book ai didi

C# ADO.NET - 找不到存储过程

转载 作者:太空狗 更新时间:2023-10-30 00:02:51 27 4
gpt4 key购买 nike

我正在尝试通过 C#、ADO.NET 执行存储过程,下面是我正在尝试执行的代码:

using (SqlConnection conn = new SqlConnection(".;Initial Catalog=MyDB;User ID=sa;Password=***"))
{
try
{
string cmdText = "dbo.sp_Create_FlaggedItemEntry @URI, @ID";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@URI", value1);
cmd.Parameters.AddWithValue("@ID", value2);

cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}

现在,当我尝试调试它时,我在行中遇到错误 - cmd.ExecuteNonQuery(); - “Could Not Find Stored Procedure dbo.sp_Create_FlaggedItemEntry”

我验证了连接字符串完全正确并且存储过程存在。此外,如果我将行 - cmd.CommandType = CommandType.StoredProcedure; 更改为 cmd.CommandType = CommandType.Text;它按预期成功执行。

有人可以建议我在这里遗漏了什么和做错了什么吗?如果这是非常基本的事情,请原谅我,因为自从我上次使用 ADO.NET 以来已经很长时间了

最佳答案

CommandType.StoredProcedure 意味着 CommandText 应该只包含存储过程的名称。

从字符串中删除参数名称。

关于C# ADO.NET - 找不到存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25710958/

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