2010-03-15 3 views
2

데이터베이스에 Abc 필드가 있는데 사용자가 데이터베이스 필드의 한도를 넘지 않도록하기 위해 "50자를 초과하여 입력 할 수 없습니다. ".필드 길이를 확인하는 방법

이제 중국인, 인도어 스크립트 및 기타 언어를 저장하는 메모리가 1 바이트 이상 걸리므로 길이를 확인하는 것이 좋습니다.

지금은 사용자가 30 자의 입력을 받았으며 "50자를 초과하여 입력 할 수 없습니다"라는 메시지가 표시됩니다.

내가 알고있는 해결책은 데이터베이스의 크기를 늘리거나 바이트 길이를 확인할 수 있지만 좋은 아이디어 인 것 같지 않습니다.

완료하기 위해 어떤 접근 방식을 따르십니까?

+1

이, SQL 서버 DB의 어떤 유형으로 이동? 또한 Nvarchar 필드는 어떤 유형입니까? –

답변

3

GUI가 WinForms 또는 WPF에 있으면 텍스트 필드에 최대 길이를 설정할 수 있어야합니다.

myTextBox.MaxLength = 50 

그러나 당신은 VS 디자이너에서이를 설정할 수 있습니다 - 텍스트 상자를 선택하고 해당 MaxLength 등록

+0

체크 아웃하지 않았더라도 ASP.Net 양식에도이 작업을 수행 할 수 있습니다. – Calanus

+0

이 솔루션 플러스 nvarchar는 다른 제안 사항과 모든 상황을 고려해야합니다. 양식의 경우 +1. – IAbstract

3

DB에 nvarchar 유형을 사용하면 바이트 수가 아닌 문자 수를 제한합니다.

1

.Net 및 SQl 서버의 nvarchar 필드를 사용하는 경우 이라고 생각하면이 좋습니다.

Nvarchar는 char 당 2 바이트를 저장하므로 유니 코드 문자열을 수용해야합니다. .net은 문제없이 전달됩니다. (즉, .Net 및 SQL의 길이는 데이터베이스에서 Nvarchar를 사용하는 경우 문자가 아니라 바이트로 측정됩니다.

관련 문제