sqldatasource,SQL无法正常运行

时间:2014-04-11 19:03:29

标签: asp.net sql parameters sqldatasource

这是一个奇怪的问题,我已经研究了一段时间。我有sqldatasourceselectupdate语句。但是这些语句对参数不起作用。

例如,如果在SQL select语句中我有WHERE dept_id = '@DEPTID'然后有:

<UpdateParameters>
    <asp:Parameter Name="DEPTID" Type="string" DefaultValue="10122" />
</UpdateParameters>

它不起作用,但是如果我删除了UpdateParameters并改为放置WHERE dept_id = '10122'它就能完美运行。

我知道参数正在正确传递,因为我在sqldatasource标记中放入了OnSelect="OnSqlSelecting",并在代码隐藏中使用了这个:

protected void OnSqlSelecting(Object source, SqlDataSourceCommandEventArgs e)
{
    for (int i = 0; i < e.Command.Parameters.Count; i++)
    {
        Response.Write(e.Command.Parameters[i].ParameterName.ToString() + "<br />");
        Response.Write(e.Command.Parameters[i].Value.ToString() + "<br />");
    }
}

它为我提供了正确参数的正确DefaultValue。我没有提供我的所有代码,但是对于这类问题有什么常用的解释或解决方法?

1 个答案:

答案 0 :(得分:0)

从'@DEPTID'中删除那些单引号。

尝试:

WHERE [dept_id] = @DEPTID