在SQL SELECT参数中使用Session数据

时间:2012-05-28 14:56:55

标签: c# asp.net sql

好的,所以我得到了以下标记:

这里我有一个由一些SQL查询填充的列表框。

            <asp:ListBox ID="MyListBox" runat="server" 
                DataSourceID="MyDataSource" DataTextField="Field1" DataValueField="ID" ></asp:ListBox>
            <asp:SqlDataSource ID="MyDataSource" runat="server" 
                ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 

                SelectCommand="SELECT [ID], [Field1] FROM [Table1] WHERE ([ID2] = @ID2)">
                <SelectParameters>
                    <asp:SessionParameter Name="ID2" 
                        SessionField="ID2" DbType="Guid"/>
                </SelectParameters>
            </asp:SqlDataSource>

我遇到的一些问题:

列表框总是空的,当我尝试测试查询时,它总是会出现一个对话框,要求我输入“Type”“DbType”和“Value”。我不太清楚在这里选择什么。

我已经尝试运行该应用程序,确保在正确的密钥中存在所需的会话数据。 (Session["ID2"]已获得Guid)。但是,当我到达列表框时,即使我可以查看表格数据并知道应该在哪里,它也是空的。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。基本上,我假设查询应该在正确的时候不应该返回结果。此外,Field1中的数据是一个空字符串。所以当它确实返回结果时,我在ListBox中看不到任何内容。