繁体   English   中英

@ fileid附近的语法不正确

[英]Incorrect syntax near @ fileid

我正在尝试从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)";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM