1
我打电话为什么我得到“无效的对象名称FinishedMappings”。“这里?
public bool CheckIfFinished (Guid pid, int sid)
{
// pid: guid corresponding to partner
// sid: survey id
bool finished = false;
using (SqlCommand cmd = new SqlCommand("CheckIfFinished", this._Conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@pid", pid);
cmd.Parameters.AddWithValue("@sid", sid);
this._Conn.Open();
using (SqlDataReader dataReader = cmd.ExecuteReader())
{
while (dataReader.Read())
{
finished = dataReader.GetByte(0) == 1 ? true : false;
}
}
this._Conn.Close();
}
return finished;
}
它调用存储过程的
GO
-- Create sproc for returning whether a partner has marked their survey as finished
CREATE PROCEDURE CheckIfFinished
@pid UNIQUEIDENTIFIER,
@sid INT
AS
BEGIN
SELECT 1 FROM FinishedMappings WHERE [email protected] AND [email protected]
END
它使用它确实存在,因为它与
CREATE TABLE FinishedMappings (
partner_id UNIQUEIDENTIFIER,
survey_id INT,
PRIMARY KEY (partner_id,survey_id),
FOREIGN KEY (partner_id) REFERENCES Partners(id),
FOREIGN KEY (survey_id) REFERENCES Surveys(id)
);
正确的存储过程的上述定义的表FinishedMappings
。为什么我会收到错误?
尝试使用完全限定的名称(即与模式名称) – DimaSUN
命令类型= StoredProcedure和你应该使用输出参数 – DimaSUN
@DimaSUN这将是奇怪的考虑我已经在所有其他存储过程中使用了表1部分表名而没有问题 –