2012-07-30 9 views
5

Próbuję przekazać parametr uniqueidentifier do procedury przechowywanej za pomocą następującego kodu:Przechodząc uniqueidentifier parametr do procedury przechowywanej

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = "96d5b379-7e1d-4dac-a6ba-1e50db561b04"; 

Wciąż dostaję błąd, jednak mówiąc, że program nie był w stanie przekonwertować z ciągu znaków GUID. Czy przekazuję wartość niepoprawnie?

+1

ty ustawienie 'value' na ciąg znaków lub GUID? –

+0

to ciąg znaków, ale jest w formacie GUID – TheGateKeeper

+1

Mówisz "Daję ci Guid!", Ale nadajesz mu ciąg. Nic dziwnego, że biedny jest zdezorientowany. Daj mu Guida! – Martin1921

Odpowiedz

22

Spróbuj

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = new Guid("96d5b379-7e1d-4dac-a6ba-1e50db561b04"); 
+4

Downvote, ponieważ brakuje wyjaśnienia. Wyjaśnij, co jest nie tak, zamiast po prostu powiedzieć "Zrób to". – Martin1921

+7

@ Martin1921 Myślę, że to całkiem zrozumiałe +1 – ForkandBeard

+0

Dzięki, oboje działają. – TheGateKeeper

6

unikalny identyfikator jest GUID. więc jest to inny typ obiektu niż twój ciąg znaków.

Trzeba

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = 
             new Guid("96d5b379-7e1d-4dac-a6ba-1e50db561b04"); 
+0

Dzięki, oboje działają. – TheGateKeeper

Powiązane problemy