Как получить Guid из уникального идентификатора SqlDataReaderC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить Guid из уникального идентификатора SqlDataReader

Сообщение Anonymous »


SQL Server 2008 (версия 10.50.2550).

У меня есть запрос на выборку, который возвращает один столбец типа uniqueidentifier.

Я хочу поместить это в переменную C# типа Guid.

Все следующие методы приводят к исключениям.

читатель имеет тип SqlDataReader.

с использованием (var reader = command.ExecuteReader()) { если (читатель.Читать()) { Guid guid = reader.GetGuid(reader.GetOrdinal("integ_schemehistoryId")); //1 Guid guid = Guid.Parse((string)reader["integ_schemehistoryId"]); //2 Guid guid = (Guid)reader["integ_schemehistoryId"]; //3 Guid guid = new Guid((string)reader["integ_schemehistoryId"]); //4 Guid guid = Guid.Parse(reader["integ_schemehistoryId"].ToString()); //5 } } Ошибка 1:

System.Data.SqlClient.SqlException (0x80131904): Ошибка преобразования при преобразовании символьной строки в уникальный идентификатор. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet BulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlDataReader.HasMoreRows() в System.Data.SqlClient.SqlDataReader.ReadInternal (логическое значение setTimeout) в System.Data.SqlClient.SqlDataReader.Read() в Simego.DataSync.DynamicColumns.DataSourceRowOverride.get_EpochSchemeHistoryID() Ошибка для 2:

System.InvalidCastException: невозможно привести объект типа «System.Guid» к типу «System.String». в Simego.DataSync.DynamicColumns.DataSourceRowOverride.get_EpochSchemeHistoryID() Ошибка 3:

System.Data.SqlClient.SqlException (0x80131904): Ошибка преобразования при преобразовании символьной строки в уникальный идентификатор. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet BulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlDataReader.HasMoreRows() в System.Data.SqlClient.SqlDataReader.ReadInternal (логическое значение setTimeout) в System.Data.SqlClient.SqlDataReader.Read() в Simego.DataSync.DynamicColumns.DataSourceRowOverride.get_EpochSchemeHistoryID() Ошибка 4:

System.InvalidCastException: невозможно привести объект типа «System.Guid» к типу «System.String». в Simego.DataSync.DynamicColumns.DataSourceRowOverride.get_EpochSchemeHistoryID() Ошибка 5:
System.Data.SqlClient.SqlException (0x80131904): Ошибка преобразования при преобразовании символьной строки в уникальный идентификатор. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое значение BreakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet BulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlDataReader.HasMoreRows() в System.Data.SqlClient.SqlDataReader.ReadInternal (логическое значение setTimeout) в System.Data.SqlClient.SqlDataReader.Read() в Simego.DataSync.DynamicColumns.DataSourceRowOverride.get_EpochSchemeHistoryID()
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»