【问题标题】:How to get data in a SQL Server foreign key using asp.net?如何使用 asp.net 在 SQL Server 外键中获取数据?
【发布时间】:2017-12-03 08:33:48
【问题描述】:

这个问题有点相似,并且与我之前的问题How to get data in an sql foreign key using asp.net entity framework? 相关,所以我将使用相同的 SQL Server 表。

这一次,我不想通过实体框架访问外键值,而是想知道如何在这样的常规 SQL 脚本中做到这一点(注意,我正在谈论的脚本在 string.Format ):

public static void getRowNumber(string brand)
{
    string query = string.Format("SELECT COUNT(*) FROM stringInstrumentItem WHERE brandId LIKE @brand");

    conn1.Open();

    command1.CommandText = query;
    command1.Parameters.Add(new SqlParameter("brand", brand));

    Int32 count = (Int32)command1.ExecuteScalar();

    conn1.Close();

    command1.Parameters.Clear();

    AddASPXAndCSFile.X = count;
}

回顾一下,我有两个名为stringInstrumentItembrand 的SQL Server 表。我在表stringInstrumentItem 中创建了外键,引用表brand 的主键。所以我试图通过stringInstrumentItem 访问表brand 中的name 列。

如您所见,我正在尝试通过brandId 访问表brand 中的值,但这不起作用。

希望你们能帮助我解决这个问题。干杯!

【问题讨论】:

  • brandId 的数据类型是什么?通常ID 列是 int。
  • BrandID 听起来像一个整数,你不能这样做
  • 我相信您需要@ 登录此new SqlParameter("@brand", brand) 才能访问参数。
  • @WEI_DBA - 是的,它是一个整数,但我想访问品牌中的字段名称。我该如何实现?
  • 字段名brand在哪个表中?

标签: c# asp.net sql-server entity-framework


【解决方案1】:

如果我正确理解您的问题,这似乎是一个简单的查询 -

SELECT COUNT(*) FROM stringInstrumentItem 
WHERE brandId IN (SELECT brandId FROM brand WHERE name LIKE @brand)

请使用您拥有的@% (根据您的要求)

command1.Parameters.Add(new SqlParameter("@brand", "%" + brand + "%"));

【讨论】:

  • 哦,我明白了。我不知道您可以像这样嵌套 sql 脚本。很酷的信息。
  • 嗨!如果您有兴趣回答另一个问题,这里是链接stackoverflow.com/questions/44847998/…
  • 嗨,赢了!不幸的是,我已删除有关外键的问题,因为我决定尝试其他解决方案,但如果您对更多问题感兴趣,我还有另一个问题,请查看您是否有空 stackoverflow.com/questions/44872117/…
猜你喜欢
  • 1970-01-01
  • 2020-02-05
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 2023-03-22
  • 2017-07-30
相关资源
最近更新 更多