SQL Server使用2个表(外键?)ASP.NET

时间:2015-11-03 19:06:34

标签: asp.net sql-server foreign-keys

我的SQL Server数据库中有2个表,使用Visual Studio 2013:

  1. 分类

    • 编号
    • 名称
  2. 产品

    • 编号
    • 名称
    • 类别ID
  3. 我有一个用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();
    

    非常感谢!!

3 个答案:

答案 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.

请注意,上面的列会返回比您需要的更多的列,您可以将*更改为仅返回所需的列(通常认为指定列列表更好)