Как назначить строку SqlDbType.UniqueIdentifier для строки? - PullRequest
0 голосов
/ 01 января 2011
   //Retrieve data to display
   string queryString2 = "SELECT [ConfidenceLevel], [LoveLevel], [StressLevel] FROM [UserData] WHERE ([UserProfileID] = @UserProfileID) ORDER BY [DateTime] ASC";
   SqlCommand CommandSelect = new SqlCommand(queryString2, database.Connection);

   //add parameters. used to prevent sql injection
   CommandSelect.Parameters.Add("@UserProfileID", SqlDbType.UniqueIdentifier);
   CommandSelect.Parameters["@UserProfileID"].Value = Membership.GetUser().ProviderUserKey;

Итак, в самом конце, вместо использования "Membership.GetUser (). ProviderUserKey", я хочу использовать динамический идентификатор члена, который будет доступен только в виде строки из пары значений имени GET.

т.е. - строка id = "a051fc1b-4f51-485b-a07d-0f378528974e"

Как мне получить эту строку для назначения последней строке параметра SQL, присваивающей значение? Типа бросил?

Если я просто назначу ей строку, я получу ошибку:

Неверное приведение из 'System.String' к 'System.Guid'.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 01 января 2011
CommandSelect.Parameters["@UserProfileID"].Value = 
                                     new Guid(ship.GetUser().ProviderUserKey);
2 голосов
/ 01 января 2011

См. Документацию для System.Guid .Там вы найдете конструктор, который принимает строковое значение и создает структуру Guid.

...