코드에서 저장 프로 시저를 실행해야합니다. 입력 매개 변수 중 하나는 테이블의 rowVersion입니다. rowVersion은 바이트 배열 ({0, 0, 0, 0, 0, 0, 13, 191}이며 db는 0x0000000000000DBF)입니다. 그래서 rowVersion을 다음과 같이 추가하면 :C에서 바이트 배열을 16 진수로 변환 #
cmd.Parameters.AddWithValue("@myPKRowversion", 0x0000000000000DBF);
sp가 작동합니다.
uint a = 0x0000000000000DBF;
cmd.Parameters.AddWithValue("@myPKRowversion", a);
또는 내가 좋아하는 문자열로 바이트 배열로 변환하는 경우 : :하지만 여기처럼 추가 해요 때
string a = "0x0000000000000DBF";
cmd.Parameters.AddWithValue("@myPKRowversion", a);
내 SP가 작동하지 않습니다. 내 sp 작업을 수행하려면 어떻게해야합니까?
주,하지가 8 –
은 할 수 없습니다 실제로 이것을 테스트하지만 0x0000000000000DBF는 UInt32가 아니라 Int32로 IDE에서 감지됩니다. 그래서 당신의 작업 예제와 첫 번째 비 작동 예제는 동일하지 않습니다. uint 대신 int를 사용하면 작동합니까? – Tim
JonSkeet이 제안한 @Tim 솔루션이 제 코드에서 잘 작동합니다. 그러나 어쨌든 당신도 옳습니다. uint를 Int32로 변경하면 sp는 내게도 오류를주지 않습니다! – Sasha