SqlDataSource上的存储过程不能使用单引号C#asp.net在SelectCommand中使用单引号

Jar*_*ich 3 c# sql-server asp.net

我现在遇到麻烦,关于如何使我的存储过程SqlDataSource在aspx页面上工作.

这是我的标记:

<asp:SqlDataSource ID="SqlDataSourceGrantInfo" runat="server" 
     ConnectionString="<%# _connection.strConnectionString %>"
     SelectCommand='<%# "EXEC dbo._GetCurrentSession " + Eval("Film_strCode") + " " %>' />
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但没有单引号.但是,当我试图单引号时,它不起作用.标签上会出错.

看到这个标记:

<asp:SqlDataSource ID="SqlDataSourceGrantInfo" runat="server" 
     ConnectionString="<%# _connection.strConnectionString %>"
     SelectCommand='<%# "EXEC dbo._GetCurrentSession 'some_value_here' " %>' />
Run Code Online (Sandbox Code Playgroud)

请帮助我知道为什么单引号的存储过程在aspx页面上不起作用?我需要用单引号制作我的代码,但它不起作用.

<asp:SqlDataSource ID="SqlDataSourceGrantInfo" runat="server" 
     ConnectionString="<%# _connection.strConnectionString %>"
     SelectCommand='<%# "EXEC dbo._GetCurrentSession '" + Eval("Film_strCode") + "'" %>' />
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使它工作吗?请帮我.

mar*_*c_s 7

如果要使用自己的存储过程SqlDataSource,则应使用此方法 - 定义命令类型StoredProcedure,并正确设置参数:

<asp:SqlDataSource ID="SqlDataSourceGrantInfo" runat="server" 
     ConnectionString="<%# _connection.strConnectionString %>"
     SelectCommand="dbo._GetCurrentSession"
     SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:Parameter Name="SessionValue" Type="Int32" DefaultValue="0" />
    </SelectParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)