我的SQL Server数据库中有2个表,使用Visual Studio 2013:
分类
产品
我有一个用ASP.NET(webforms)构建的产品页面,我可以在其中创建,编辑或删除产品。
我在两个表之间建立了连接(外键)。
我想显示我的产品,而不是将类别作为数字(Id),我希望将其命名为。
我该怎么做?
我对SQL的了解非常基础。
这就是我使用DataList显示代码的方式:
string SQL = "SELECT * FROM Products;";
SqlCommand cmd = new SqlCommand(SQL, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
dlProducts.DataSource = ds;
dlProducts.DataBind();
非常感谢!!
答案 0 :(得分:1)
将您的select语句更改为:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav navbar-nav pull-right">
<li><a href="#about">Start</a>
</li>
<li><a href="#">Start</a>
</li>
<li><a href="#">Start</a>
</li>
<li><a href="#">Start</a>
</li>
</ul>
<!-- About Page-->
<section id="about" class="container-fluid col-md-9" style="top: -500px;">About
</section>
答案 1 :(得分:1)
加入类别表,并从类别表中返回名称以及主要结果。
string SQL = "SELECT p.*, pc.Name FROM Products p
INNER JOIN ProductCategories pc
ON p.ProductCategoryID = pc.ProductCategoryID;";
答案 2 :(得分:0)
您正在寻找join。
您的查询可能如下所示:
select *
from products p -- p is an "alias" for the table products
inner join category c on p.categoryId = c.id -- here we're specifying that the products table to join onto the category table via their relationship columns.
请注意,上面的列会返回比您需要的更多的列,您可以将*
更改为仅返回所需的列(通常认为指定列列表更好)