gpt4 book ai didi

.net - 如何将变量传递给 SqlDataSource 的 SelectCommand?

转载 作者:行者123 更新时间:2023-12-02 00:56:18 29 4
gpt4 key购买 nike

我想将变量从后面的代码传递到 SqlDataSource 的 SelectCommand?

我不想使用内置参数类型(如 ControlParameter、QueryStringParameter 等)

我需要传递一个变量,但以下示例不起作用:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:itematConnectionString %>" SelectCommand = "SELECT items.name, items.id FROM items INNER JOIN users_items ON items.id = users_items.id WHERE (users_items.user_id = @userId) ORDER BY users_items.date DESC" >
<SelectParameters>
<asp:Parameter DefaultValue="<%= userId %>" Name="userId" DbType="Guid" />
</SelectParameters>
</asp:SqlDataSource>

最佳答案

试试这个,删除 SelectCommand 属性和 SelectParameters:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:itematConnectionString %>">

然后在后面的代码中执行以下操作:

SqlDataSource1.SelectParameters.Add("userId", userId.ToString());

SqlDataSource1.SelectCommand = "SELECT items.name, items.id FROM items INNER JOIN users_items ON items.id = users_items.id WHERE (users_items.user_id = @userId) ORDER BY users_items.date DESC"

虽然这对我有用,但以下代码也有效:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:itematConnectionString %>"
SelectCommand = "SELECT items.name, items.id FROM items INNER JOIN users_items ON items.id = users_items.id WHERE (users_items.user_id = @userId) ORDER BY users_items.date DESC"></asp:SqlDataSource>


SqlDataSource1.SelectParameters.Add("userid", DbType.Guid, userId.ToString());

关于.net - 如何将变量传递给 SqlDataSource 的 SelectCommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com