문제

I 웹 페이지가 있는가에 매여 저장 프로시저.이 SQL 데이터 소스가 매개 변수는 내가 다시 전달하고 저장 프로시저의 유형 int.

ASP.NET 보고 싶은 기본적으로 int32, 지만,그 수를 얻지 않을 것이 보다 높은 6.그것은 확인을 재정의 ASP.NET 기본이고에 넣어 16 일을 하나에 충돌이 어딘가에까?

사양:데이터베이스 분야는 길이의 4 및 정밀도의 10 만에서 차이가 대답합니다.

도움이 되었습니까?

해결책

는 경우에 당신은 그것을 강제로 할 예를 들어 바이트 및 숫자 이상 255 를 실행하의 위험을 주조 오류가(그리고 예외가 발생합니다).그러나 만약 당신이 그것을 알지 않을 것보다 더 높은 6 그것이 문제가되지 않습니다.

었다면,나는 그냥 그것을 사용으로 정상적인 int,나를 저장 많은 경우 이외의 아무것도 몇 바이트로 만드는 바이트입니다.의 위험 제외 발생되는 너무 높은 당신을 잃을 것이라는 모든 혜택함으로써 그것이 작습니다.

다른 팁

으로 스틱 int32.는 무엇 vb 의"정수"및 SQL 의 INT 입니다.

당신이 증가하지 않습니다 어떤 중요한 성과 개선을 사용하여 백업 에이전트나 복/바이트 또는 단기/int16 대신 int/int32.

사실,두통을 실행할 수 있습으로 앞으로 인해 발생하는 모든 캐스팅을 할 수 있는 개체에 대한 기대 int32s 됩니다.

당신이 말할 때 DB 필드 길이의 4,는 4 바이트로에 해당하는 Int32(4bytes=32bits).그 이유는 당신의 열은 반환되는 int32 입니다.

거기에 다른 정수 데이터 형식 SQL Server-당신은 확실 수를 얻지 않을 것이 보다 높은 6,당신은 선언해야 합니다 데이터베이스에서 열로"백업 에이전트나 복"을 사용하는 하나의 바이트와 값을 저장할 수 있는 0 에서 255 까지 선택할 수 있습니다.다음 SQL 데이터 원본을 변환하는"바이트"는 데이터는 괜찮을 것이 목적입니다.

CLR"바이트"==SQL"백업 에이전트나 복"(1byte) CLR"Short"(또는 int16)==SQL"smallint"(2 바이트) CLR"int32"==SQL"int"

편집:그냥할 수 있기 때문에 뭔가를 해야 하는 것이 아닙니-나에 동의 마이클욱 쉽게 확인할 수 있게 되었습니다., 개발의 두통 관리 이러한 데이터 유형을 능가 작은 성과를 얻을 당신을 얻을 것이 없는 한,당신과 함께 다루고 있는 매우 높은 성능을 소프트웨어(어떤 경우에,당신은 왜할 사용 ASP.NET?)

당신이 저장되지 않은 경우 아무것도 사용하여 Int16 에 ASP 측.그것은 여전히드로 32-bit register 니다.

FYI,CLR 맵 int Int32 내부입니다.

어떤 사용하는 SQL Server 저장 프로시저는 정의됩니다.의 경우 int SQL Server,다음 사용하 Int32 습니다.NET.smallint 에서 SQL int16.

그렇지 않으면,서버는 그냥 upconvert 그것은 자동으로거나 오류가 발생할 필요가 있는 경우 회사는 다운컨버젼된.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top