QueryString用于检索数据库信息

时间:2014-05-06 16:39:15

标签: c# asp.net visual-studio query-string

我正在开发一个项目,我有一个游戏库用于控制台游戏。我在Visual Studio中使用ASP.NET。

现在我有一个数据库,其中包含gamesconsolescategories(流派),categories_games(包含gameid和{{1}的表格指定游戏类型是什么)和category id(同样的事情,但对于游戏机)。

我正在使用DataList显示游戏(名称和图像),如下所示:

consoles_games

代码背后:

<asp:DataList ID="DataList1" runat="server" BackColor="White"
   BorderColor="White" BorderStyle="None" BorderWidth="0px"
   CellPadding="10" CellSpacing="2" Font-Names="Verdana"
   Font-Size="Small" GridLines="Both" RepeatColumns="5"
   RepeatDirection="Horizontal" Width="850px">
      <FooterStyle BackColor="White" ForeColor="#8C4510" />
      <HeaderStyle BackColor="White" Font-Bold="true" Font-Size="Large"
         ForeColor="White" HorizontalAlign="Center"
         VerticalAlign="Middle" />
            <ItemStyle BackColor="White" ForeColor="Black"
               BorderWidth="0px" />
  <ItemTemplate>
    <asp:Image ID="imgGame" runat="server" Width="128px"
    Height="159px" ImageUrl='<%# Bind("uimg", "{0}") %>' />
    <br />
    <asp:Label ID="lblTitle" runat="server"
    Text='<%# Bind("uname") %>'></asp:Label>
    <br />
    <br />
  </ItemTemplate>
</asp:DataList>

例如,获取所有PS4游戏的SQL语句如下所示:

protected void BindData()
{
    DataSet ds = new DataSet();
    con.Open();
    SqlCommand cmd = new SqlCommand(cmdstr, con);
    SqlDataAdapter adp = new SqlDataAdapter(cmd);
    adp.Fill(ds);
    DataList1.DataSource = ds.Tables[0];
    DataList1.DataBind();
}

但是,我想使用查询字符串来显示游戏,所以我最终会得到这样的结果:

SELECT 
    games.uname, games.uimg 
FROM 
    games, consoles, consoles_games 
WHERE 
    consoles.consoleid = consoles_games.consoleid 
    AND games.uid = consoles_games.uid 
    AND consoles.consoleid = 2 
ORDER BY 
    games.uname

如果有人知道我怎么做,并且仍然像我现在一样在DataList中显示游戏,那就太棒了。我一直在寻找任何好的教程,但在我的情况下,我似乎找不到任何可以帮助我的东西。

1 个答案:

答案 0 :(得分:1)

首先,当用户导航到ps4游戏视图时(他在链接之前点击某处),你必须创建查询字符串。然后在导航页面上显示ps 4的游戏列表,你应该捕获该查询字符串并根据传递的id或其他搜索。

看看:How to build a query string for a URL in C#?

了解如何为网址构建查询字符串。