@ fileid附近语法错误
本文关键字:语法 错误 fileid | 更新日期: 2023-09-27 18:13:48
我试图从c#的所有sql函数。我已经将参数添加到函数中,如@ fileid和useid。但是得到一个错误。我无法找出代码中的错误。
string query = "exec fn_sh_HitInfo(@fileid,@UserID)";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@fileid", SqlDbType.BigInt).Value=fid;
cmd.Parameters.Add("@UserID", SqlDbType.BigInt).Value =UserID;
string taglist = string.Empty;
try
{
taglist = DBAction.ExecuteQuery(cmd, FilteringControl.ProjectID).ToString();
}
不要使用括号
exec fn_sh_GetTagListHitInfo @fileid,@UserID
或者如果这是一个标量UDF,您可以选择使用SELECT
而不是EXEC
(在这种情况下需要模式名称)
SELECT dbo.fn_sh_GetTagListHitInfo (@fileid,@UserID )
您不需要exec
部分,也不需要知道正确的语法。
//string query = "exec fn_sh_GetTagListHitInfo(@fileid,@UserID)";
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure; // just mark it as an SP
cmd.CommandText = "fn_sh_GetTagListHitInfo"; // only the name
cmd.Parameters.Add("@fileid", SqlDbType.BigInt).Value=fid;
cmd.Parameters.Add("@UserID", SqlDbType.BigInt).Value = FilteringControl.UserID;
更改cmd。CommandText值并尝试。
cmd.CommandText = "select fn_sh_GetTagListHitInfo(@fileid,@UserID)";