SQL Server のuniqueidentifierを操作するには、C# でどのデータ型を使用する必要がありますか。
変換などが必要ですか?
SQL Server のuniqueidentifierを操作するには、C# でどのデータ型を使用する必要がありますか。
変換などが必要ですか?
変換は必要ありません。
System.Guid
データベースから null 許容の Uniqueidentifier 列を読み取るときは、Guid インスタンスに割り当てる前に値が null かどうかを確認してください。Guid は null 許容ではないためです。例えば:
... /// 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);
等
SQLDataReader から値を取得する場合は、使用する前に必ず DBNull に対してチェックしてください。値が文字列として解釈される場合もあるため、コードで使用する GUID があることを確認するには、 New Guid(rs["my_guid"]) と入力する必要があります。