【问题标题】:Convert Mac Address Generation from SQL to C# [closed]将 Mac 地址生成从 SQL 转换为 C# [关闭]
【发布时间】:2015-03-28 16:10:28
【问题描述】:

我正在将一个应用程序从使用存储过程转换为使用 Entity Framework 6。我遇到了一个存储过程,它按顺序生成下一个 Mac 地址。

这里是 SQL:

SELECT 
    @macAddress = SUBSTRING(CONVERT(CHAR(8), CONVERT(VARBINARY(3), 1234567), 1) + SUBSTRING(CONVERT(CHAR(8), CONVERT(VARBINARY(3), @nextMacAddressValue), 1), 3, 6), 3, 12)

@nextMacAddressValue 只是一个递增的数字,假设这个例子是 21。

我正在寻求将其转换为 C# 的帮助

【问题讨论】:

  • 你能举出输入和期望输出的例子吗?
  • @nextMacAddressValue 等于 21 时输出为“12D687000015”
  • 雇人为你做这件事。如果您需要完成一些工作 - 您需要为此付费。这就是它的工作原理。
  • 这适用于哪个 RDBMS?请添加标签以指定您是使用mysqlpostgresqlsql-serveroracle 还是db2 - 或完全使用其他东西。 SQL 是 ANSI/ISO 标准查询语言 - 但每个供应商都有自己的“扩展”,可能有用 - 如果我们知道您正在使用哪个供应商的数据库 ....

标签: c# sql .net


【解决方案1】:

它不能是随机的。它需要从前六个值开始,然后递增序列。这成功了。

var macAddress = String.Concat(1234567.ToString("X").PadLeft(6, '0'), int.Parse(nextMacAddressParameter.Value).ToString("X").PadLeft(6, '0'));

【讨论】:

    【解决方案2】:

    这里的关键可能是不要专注于他们是如何做到的

    如果你只是想要一个随机的Mac地址,你可以应用

    中的解决方案

    Generate a random mac address

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-09
      • 2018-12-04
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      相关资源
      最近更新 更多