代码之家  ›  专栏  ›  技术社区  ›  Asad

SQL Server唯一标识符等价于C#

  •  12
  • Asad  · 技术社区  · 15 年前

    我应该在C中使用什么数据类型来使用SQL Server 唯一标识符 .

    我需要转换吗?

    3 回复  |  直到 10 年前
        1
  •  14
  •   codekaizen    15 年前

    系统.guid。

    不需要转换。

        2
  •  14
  •   3Dave    15 年前

    系统.guid

    从数据库中读取可为空的uniqueidentifier列时,请确保在尝试分配给guid实例之前检查该值是否为空,因为guid不可为空。例如:

    ... /// using recordset rs
    
    
    // generates exception if rs["my_guid"] is null
    Guid g = (Guid)rs["my_guid"];
    
    // returns Guid.Empty {0000000-.....} if db value is null
    Guid g = (Guid)(rs["my_guid"] ?? Guid.Empty); 
    

    等。

        3
  •  2
  •   Kalle    15 年前

    如果要从SqlDataReader获取该值,请确保在尝试使用该值之前将其与dbnull进行比较。有时该值也可以解释为字符串,因此需要键入新的guid(rs[“my_guid”]),以确保在代码中使用guid。