내가 점점 오전 오류 BYTE 형에 INT64에서 매개 변수 값을 변환하지 못했습니다 열 : 나는 그것에 할당 할 때은 []
sessionid | binary(32) | null
,이 작업을 수행합니다
user.LastActivityDate = DateTime.Now;
user.SessionId = user.LastActivityDate.ToBinary();
세션 ID는 인터페이스에서 상속 된 속성입니다 :
long? SessionId { get; set; }
를 그리고 여기 내 사용자 클래스에 액세스하고 있습니다 : 내 사용자 지정 프로필 공급자에서
[SettingsAllowAnonymous(false), CustomProviderData("SessionId;string")]
public long? SessionId { get { return base["SessionId"] as long?; } set { base["SessionId"] = value; } }
, 다음 명령은 값을 할당합니다
sqlCommand.Parameters.Add("sessionid", SqlDbType.Binary, 32).Value = settingsPropertyValue.PropertyValue;
"sqlCommand.ExecuteNonQuery()"명령이 저장된 업데이트를 실행하면 매개 변수가있는 프로 시저가 실행됩니다 eter :
"Failed to convert parameter value from a Int64 to a Byte[]."
I가 시도 :
@sessionid binary(32)
결과는 오류 인
- ... = Convert.ToByte (settingsPropertyValue.PropertyValue);
- ... = Convert.ToInt64 (settingsPropertyValue.PropertyValue);
아이디어가 있으십니까? 감사.
좋습니다, 감사합니다.sqlCommand.Parameters.Add ("sessionid", SqlDbType.BigInt, sizeof (Int64))를 시도했습니다 .Value = settingsPropertyValue.PropertyValue; 그리고 "값은 부호없는 바이트에 비해 너무 크거나 작습니다." 그 모양이 맞습니까? –
SQL Server의 데이터 유형은 무엇입니까? – SLaks
sessionid | 이진 (32) | null –