برگزیده های پرشین تولز

مقدار int‌بيشتر نمي شه ؟؟

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
سلام.
مي خوام يه عدد توي textbox وارد كنم. مثل شماره تلفن .
من نوع اين داده رو تو اس كيو ال int تعيين كردم ولي حداكثر مقدار int‌ عدد 4 تعيين شده ... ولي من مي خوام مثلا 12 رقمي باشه ... چطور اين مقدار رو بالا ببرم ؟
چون من شنيدم كه راهي هست int افزايش پيدا كنه ...:eek:
sql server2000
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
كسي بلد نيست ؟
162.gif
 

mosyhey1

Registered User
تاریخ عضویت
27 جولای 2005
نوشته‌ها
225
لایک‌ها
4
با سلام.
فكر كنم شماره تلفن از مواردي است كه بايد به صورت متن ذخيره شود.
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
فرض كنيم اين طور باشه ... حالا شماره تلفن نه ...هر شماره ديگه اي ... ولي منظوذم عدده !
من اگه بخوام يه عدد 12 رقمي ذخيره كنم چه نوعي براش اختصاص بدم ؟!
سوال ديگه اينكه :
مثلا float تعيين كردم حالا اگه يكي بياد اشتباهي حواسش نباشه كه بايد عدد وارد كنه و بياد حروف بنويسه اين جا sql ارور مي ده ... بايد چي كار كنم ؟
مرسي
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
سلام.
مي خوام يه عدد توي textbox وارد كنم. مثل شماره تلفن .
من نوع اين داده رو تو اس كيو ال int تعيين كردم ولي حداكثر مقدار int‌ عدد 4 تعيين شده ... ولي من مي خوام مثلا 12 رقمي باشه ... چطور اين مقدار رو بالا ببرم ؟
چون من شنيدم كه راهي هست int افزايش پيدا كنه ...:eek:
sql server2000

منظور از 4 یعنی اینکه 4 بایت که می تونه تا 2,147,483,647 +- رو که یه عدد 10 رقمی هست توی خودش نگهداری کنه
شما می تونی از bigint استفاده کنی که 19 رقم رو می تونه نگهداری کنه
همینطور هم که بچه ها گفتن می تونی بصورت متن ذخیره کنی و از نوع varchar استفاده کنی و در این نوع هر مقدار که بخوای میتونی براش مشخص کنی
 

Y2K

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
656
لایک‌ها
1
محل سکونت
Location
فرض كنيم اين طور باشه ... حالا شماره تلفن نه ...هر شماره ديگه اي ... ولي منظوذم عدده !
من اگه بخوام يه عدد 12 رقمي ذخيره كنم چه نوعي براش اختصاص بدم ؟!
سوال ديگه اينكه :
مثلا float تعيين كردم حالا اگه يكي بياد اشتباهي حواسش نباشه كه بايد عدد وارد كنه و بياد حروف بنويسه اين جا sql ارور مي ده ... بايد چي كار كنم ؟
مرسي

در اینجور مواقع شما باید خودت بررسی کنی که آیا مقدار وارد شده عدد صحیح یا اعشاری هست یا نه ( با کد نویسی) در غیر اینصورت یه پیغام مناسب به کاربر نشون بده
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
منظور از 4 یعنی اینکه 4 بایت که می تونه تا 2,147,483,647 +- رو که یه عدد 10 رقمی هست توی خودش نگهداری کنه
شما می تونی از bigint استفاده کنی که 19 رقم رو می تونه نگهداری کنه
همینطور هم که بچه ها گفتن می تونی بصورت متن ذخیره کنی و از نوع varchar استفاده کنی و در این نوع هر مقدار که بخوای میتونی براش مشخص کنی

ممنون Y2K ولي ...
من مي دونم كه int مي تونه 10 رقم رو نگه داره واسه همينم گفتم مثلا يه عدد 12 رقمي وارد كنم ...:rolleyes:
از bigint هم نمي خوام استفاده كنم از char هم همين طور ...
سوال من اينه :
چه جوري int تعيين كنم ولي تا بي نهايت ( يا يه تعداد رقم محدود ولي خيلي زياد ) بتونه جا بده ...
لازم دارم ...
مرسي اگه مي دونين بگين.
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
ممنون Y2K ولي ...
من مي دونم كه int مي تونه 10 رقم رو نگه داره واسه همينم گفتم مثلا يه عدد 12 رقمي وارد كنم ...:rolleyes:
از bigint هم نمي خوام استفاده كنم از char هم همين طور ...
سوال من اينه :
چه جوري int تعيين كنم ولي تا بي نهايت ( يا يه تعداد رقم محدود ولي خيلي زياد ) بتونه جا بده ...
لازم دارم ...
مرسي اگه مي دونين بگين.

نمیشه که ! چطوری میخوای توی 4 بایت مثلا 32 بایت رو قرار بدی ؟ مثل اینه که بخوای یه سامسونت رو توی جیبت بگذاری :D
4 بایت هم اونقدر نیست که مثلا بشه از روش فشرده سازی استفاده کرد.
---
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
نمیشه که ! چطوری میخوای توی 4 بایت مثلا 32 بایت رو قرار بدی ؟ مثل اینه که بخوای یه سامسونت رو توی جیبت بگذاری :D
4 بایت هم اونقدر نیست که مثلا بشه از روش فشرده سازی استفاده کرد.
---

مي شه ... من نمونه اش رو هم ديدم ...( و كاربردش )
مطمئن هستم مي شه ....
حالا اگه كسي مي دونه بگه.

مرسي از همه
 

Mehdi Hamedali

کاربر تازه وارد
تاریخ عضویت
16 نوامبر 2003
نوشته‌ها
267
لایک‌ها
0
سن
41
نمیشه که ! چطوری میخوای توی 4 بایت مثلا 32 بایت رو قرار بدی ؟ مثل اینه که بخوای یه سامسونت رو توی جیبت بگذاری :D
4 بایت هم اونقدر نیست که مثلا بشه از روش فشرده سازی استفاده کرد.
---

چه مثال جالبی :D
کاملاً درسته این امکان وجود نداره
مشکلت رو بگو شایت راحت تر کمکت کنیم
این موضوع هم که میگه دیدی ممکنه ولی کلکی داره که برای فقط برای موارد خاص امکان پذیره
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
این موضوع هم که میگه دیدی ممکنه ولی کلکی داره که برای فقط برای موارد خاص امکان پذیره
همين كلك رو مي خوام ديگه !
188.gif

البته فعلا به اون مقدار بي نهايت احتياج ندارم ولي برام جالبه زودتر بدونم ...
مرسي از همه
 

kouroshm

کاربر تازه وارد
تاریخ عضویت
23 سپتامبر 2005
نوشته‌ها
149
لایک‌ها
0
فرض كنيم اين طور باشه ... حالا شماره تلفن نه ...هر شماره ديگه اي ... ولي منظوذم عدده !
من اگه بخوام يه عدد 12 رقمي ذخيره كنم چه نوعي براش اختصاص بدم ؟!
سوال ديگه اينكه :
مثلا float تعيين كردم حالا اگه يكي بياد اشتباهي حواسش نباشه كه بايد عدد وارد كنه و بياد حروف بنويسه اين جا sql ارور مي ده ... بايد چي كار كنم ؟
مرسي

سلام،

شما چهار راه برای این کار داری (البته نمیدونم چرا اصرار دارین که داده از نوع Int باشه):

1. نوع داده تون رو در پایگاه داده بر روی nchar یا nvarchar قرار بدین، بعد در فرم ورودی که قراره شماره تلفن توش وارد شه از اسکریپت سمت کلاینت برای Valid کردن استفاده کنید تا در صورتی که مثلا داده بجز عدد چیز دیگری بود از ارسالش جلوگیری کنه (فرانت پیج هم اینکار رو به سادگی با یک GUI انجام میده و همچنین بقیه نرم افزار های طراحی) (ساده ترین و بی دغدغه ترین راه)

2. نوع داده تون رو در پایگاه داده بر رویnchar یا nvarchar قرار بدین، توی صفحه ای که فرم بهش ارسال میشه دادتون رو با جملات شرطی Valid کنید و اگر داده ها مناسب بود اونر به پایگاه داده بفرستید.

3. نوع داده nvarchar و در صفحه ای که فرم بهش ارسال میشه بگین که Error رو resume کنه و برگشت بده به صفحه فرم با Err.Description (در VB).

4. نوع دادتون رو روی Decimal یا numeric تنظیم کنید (طول حداکثر 9).
 

Neo.BHK

کاربر تازه وارد
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
338
لایک‌ها
1
محل سکونت
Tehran
مرسي از راهنماييتون.
مورد 4 كه نه ...
از همون مورد 2 فكر كنم استفاده كنم...
 
بالا