找不到存储过程
本文关键字:存储过程 找不到 | 更新日期: 2023-09-27 18:12:31
当我尝试更新我的表的数据,我得到错误
找不到存储过程
怎么了?
SQL:CREATE PROCEDURE GetContactName
@Name char(20),
@SecondName char(20) output
as
SELECT @SecondName = [Second Name]
FROM WPF.dbo.contacts
WHERE Name = @Name
c# :
sqlConnection.Open();
SqlCommand cmd = new SqlCommand("GetContactName", sqlConnection);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
param.ParameterName = "@Name";
param.SqlDbType = SqlDbType.Char;
param.Direction = ParameterDirection.Input;
cmd.Parameters.Add(param);
param = new SqlParameter();
param.ParameterName = "@SecondName";
param.SqlDbType = SqlDbType.Char;
param.Size = 20;
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
sqlConnection.Close();
Edit1
我使用的是VS13和SQL Server 2008 Management Studio
我找不到存储过程,但是当我执行SQL代码时,它说这个过程已经存在。
连接字符串:
Data Source=HOME;Initial Catalog=WPF;Integrated Security=True
- 数据库:
WPF
- 模式:
dbo.contacts
这是数据库模式的问题。检查连接字符串中使用的用户id的默认模式是否与SP的模式匹配。
只需在您的查询上方添加USE YourdataBaseName后跟GO。
**USE YourdataBaseName
Go**
CREATE PROCEDURE GetContactName
@Name char(20),
@SecondName char(20) output
as
SELECT @SecondName = [Second Name]
FROM WPF.dbo.contacts
WHERE Name = @Name
C#:
由于某些原因,当您使用sql-query创建过程时,它不会显示在文件夹"Stored Procedures"中。但是,如果您通过在"Stored Procedures"文件夹中的上下文菜单中选择适当的选项来创建过程,则会显示该过程,并且一切正常。