PDA

View Full Version : اگر کاربر 10 کارکتر برای فیلد کدملی تایپ کرد،نپذیرد



ali_abbasi22145
سه شنبه 23 بهمن 1386, 15:59 عصر
سلام

من می خواهم اگر کاربر 10 کارکتر برای فیلد کدملی تایپ کرد،نپذیرد(در SQl server 2000).

Amir_Safideh
سه شنبه 23 بهمن 1386, 16:23 عصر
بهتره که این چیزی رو که میخواهید از طریق Application خودتون کنترل کنید . یعنی که در برنامه خودتون زمانی که کاربر میخواد اطلاعاتش رو ذخیره کنه قبل از اینکه دستور ذخیره کردن اطلاعات رو به سرور بفرستی برنامه کنترل کنه که کاربر مقدار درستی رو به دیتابیس فرستاده باشه .
-----------
موفق باشید.

AminSobati
سه شنبه 23 بهمن 1386, 23:14 عصر
دوست عزیزم،
اگرچه بسیاری از کنترل ها رو در App میشه انجام داد، اما توصیه میکنم کنترلهای حساس رو در سمت دیتابیس هم ببینید تا در ویرایشهایی که از طریق App انجام نمیشه (اعم از import/export، ویرایشهای دستی توسط Admin روی جدول و ...) صحت اطلاعات شما به خطر نیفته.
برای کنترل طول مثلا فیلد کد ملی، میتونین از Constraint استفاده کنین:



CREATE TABLE T1(
Col1 VARCHAR(10) CHECK (LEN(Col1)=10),
Col2 INT
)

ali_abbasi22145
یک شنبه 28 بهمن 1386, 10:21 صبح
سلام اقای ثباتی عزیز

من بانک خود ساخته و Application خودم هم را نوشته ام حال در SQL SERVER می خواهم صحت ورود 10کارکتر برای فیلد کدملی چک کنم.

AminSobati
یک شنبه 28 بهمن 1386, 18:20 عصر
یعنی پست شماره 3 کمک نمیکنه؟

majid_afra222
دوشنبه 29 بهمن 1386, 11:01 صبح
سلام
برای این نوع محدودیت بهتره شرط چک رو اینطور بنویسی


CREATE TABLE T1(
Col1 char(12) CHECK (Col1 LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]-[0-9]'),
Col2 INT
)

که 3 رقم اول بعد یه - بعد 6 رقم و بعد یه - و آخر هم یک رقم

DataMaster
دوشنبه 29 بهمن 1386, 15:23 عصر
ببخشید یه سوال
این شرط چک رو در Enterprise Manager در کجا باید مشخص کنیم؟

Elham_gh
دوشنبه 29 بهمن 1386, 15:44 عصر
ببخشید یه سوال
این شرط چک رو در Enterprise Manager در کجا باید مشخص کنیم؟

:گیج::متفکر:
New Query را بزنید.نام Database مورد نظر را انتخاب کنید.دستورات AminSobati یاmajid_afra222 را باید در این صفحه خالی وارد کرده و اجرا کنید.
یا
جدولتان را ایجاد کنید در قسمت check constraint شرط مورد نظرتان وارد کنید.

ali_abbasi22145
یک شنبه 12 اسفند 1386, 09:00 صبح
سلام و تشکر از پیگیرتان
>>جدولتان را ایجاد کنید در قسمت check constraint شرط مورد نظرتان وارد کنید.
مسیر این کار کجا در SQL server است؟