View Full Version : حذف کاراکتر اضافی جاخالی چطوره
احمد سامعی
جمعه 17 شهریور 1385, 16:27 عصر
درود صد بدرود بر مردمان ایران زمین
من یک بانک دارم با 2000 نوشتم و چندتا فیلد char داره با اندازه های مختلف و قتی چیزی توش ثبت می کنی مثلا اگه ده کارکتر و فیلد تنضیم ده بای 15 تا تا ته بقیه جا خالی می زاره و وقتی اطلاعات رو می خونی چندتا کراکتر اضافی داری در نتیجه نمی تونی با چیزی مقایسش کنی مثلا برای سرچ کردن که باید از کاربر یک رشته بگیره و با اون مقایسه کنه
چطور می شه کاراکترهای اضافی که بانک ثبت می شه حذف کرد ؟؟؟:متفکر: :متفکر: :متفکر:
majid_afra222
جمعه 17 شهریور 1385, 19:59 عصر
سلام
نوع داده رو به VARCHAR یا NVARCHAR تبدیل کن.
یا قبل از مقایسه فیلدها از تابع CAST برای تبدیل اون به VARCHAR یا NVARCHAR استفاده کن.
احمد سامعی
جمعه 17 شهریور 1385, 22:02 عصر
سلام
نوع داده رو به VARCHAR یا NVARCHAR تبدیل کن.
یا قبل از مقایسه فیلدها از تابع CAST برای تبدیل اون به VARCHAR یا NVARCHAR استفاده کن.
منون اما می شه بگید فرق char با varchar درچیه ؟
من می خوام یک جدول داشته باشم که اطلاعات مشترکین رو دادشته باشه برای همین باید یک حداکثری برای هر کدوم انتخاب کنم مثلا برای نام 35 کارکتر یا برای آدرس 100 کارکتر
بعد می خوام بر اساس یک فیلد خواص که کاربر انتخاب می کنه اون ها رو search اطلاعاتی کنم
در ضمن چطوری می تونم بفهمم که آیا یک رکورد با فیلد خواص وجود داره یا نه مثلا اطلاعات رکوردی رو به من بده که شماره شناسایی رو کاربر وارد می کنه و اگر وجود نداشت اعلام کنه ( من با سی شارپ کار می کنم ) یکی از دوستان گفت کوئری بگیرم اما نمی دونم چطوری اگه می شه یک کد نمونه برام بزارید
با تشکر
احمد
majid_afra222
جمعه 17 شهریور 1385, 22:47 عصر
سلام
قبلا بحث شده، جستجو کنید.
Milad Mohseny
شنبه 18 شهریور 1385, 00:28 صبح
منون اما می شه بگید فرق char با varchar درچیه ؟
قبلاً توضیح داده شده.
ولی اگه از char استفاده کنی بهتره چون سرعتش بیشتره.
وقتی اطلاعات رو از بانک گرفتی میتونی تو برنامه ات فاصله های خالی رو حذف کنی مثلاً در vb با Trim. برای جستجو هم میتونی مثلاً اگر بر اساس name میخواهی جستجو کنی یک متغییر با طول ثابت بگیری مثلا strName as String*35 و آن را پر کنی و در select شرکت دهی.
احمد سامعی
شنبه 18 شهریور 1385, 01:27 صبح
قبلاً توضیح داده شده.
ولی اگه از char استفاده کنی بهتره چون سرعتش بیشتره.
وقتی اطلاعات رو از بانک گرفتی میتونی تو برنامه ات فاصله های خالی رو حذف کنی مثلاً در vb با Trim. برای جستجو هم میتونی مثلاً اگر بر اساس name میخواهی جستجو کنی یک متغییر با طول ثابت بگیری مثلا strName as String*35 و آن را پر کنی و در select شرکت دهی.
منون از لطفتون اما اگه خود شما هم جستجو کنید به جایی نمی رسید این یک مد تو سایت شده که اول جمله رو با برو سرچ کن شروع می کن آقای عزیز اگه وقت نداری جواب بدید لازم نیست پست بزارید
اما من که نفهمیدم یعنی چی یک متغیر بگیر این متغیر رو کجا بگیرم
منظور مناز این سوال این بود که اگه با توجه به فیلدی که داریم WHEWE می کنیم هیچ کدوم از رکورد ها دارای این مقدار نبود از کجا بفهمیم و خطا نده
نه اینکه چطور سلکت کنم
باز هم منون از اینکه پست گذاشتی
majid_afra222
شنبه 18 شهریور 1385, 08:18 صبح
سلام احمد عزیز
خوب اگه پیدا نشد،
نوع داده Char و NChar فیلدی با طول ثابت رو ایجاد میکنه و نوع داده Varchar و NVarchar داده های با طول متغیر اونهایی که N دارن داده های از نوع National یا محلی هستن و داده ها رو بصورت Unicode نگهداری می کنن.
در Varchar و NVarchar فضاهای خالی بعد از فیلد حذف می شن و خود مقدار اصلی در داخل فیلد نگهداری می شه.
در مورد سرعت حرف دوستمون بی منطق و دلیل هستش (باید دلیل بیارن).
بر اساس شرط داده شده جستجو کنید یا ExecuteScalar کنید (تنها یک مقدار بر میگردونه پس اگه مقدار null بود حتما رکورد وجود نداره) یا ExecuteReader و اگه خالی بود و Read نکرد یعنی رکورد نیست.
یا خیلی راه های دیگه.
Milad Mohseny
شنبه 18 شهریور 1385, 13:33 عصر
http://barnamenevis.org/forum/showthread.php?t=37549&highlight=Varchar+NVarchar
http://barnamenevis.org/forum/showthread.php?t=37780
احمد سامعی
شنبه 18 شهریور 1385, 14:48 عصر
سلام احمد عزیز
خوب اگه پیدا نشد،
.
منون عزیز
ببخشید اما قصد توهین نداشتم یک دنیا معذرت اما وقتی برنامت درستکار نمی کنه غات می زنی
برم این هایی رو که نوشتی بخونم ببینم چیزی می فهمم یا نه ( در ضمن با استفاده از varchar دنیایی از مشکلات برنامم حل شد
( یک سوال فرعی( آقا شما و دیگر دوستان چطور این همه لینک رو به راحتی برای هر موضوع پیدا می کنین من بر اساس کلمات کلیدی در جستجو پیشرفته موضوع رو سرچ می کنم اما چیز بدرد بخور پیدا نمی کنم یا اکثر مواقع می چیزی پیدا نشد )
با تشکر فراوان از لطفتون ( زکات علم نشر اون :خجالت: :خجالت: :قلب: )
احمد
نیشابور
amirsadeghi
دوشنبه 24 مهر 1385, 12:49 عصر
ستور راحت تره
trim ()
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.