PDA

View Full Version : سوال: علیت این مشکل با textbox ها؟



salehvasaleh
شنبه 02 مهر 1390, 11:24 صبح
دوستان یک مشکلی دارم وقتی اطلاعات از طریق textbox ها وارد دیتابیس می شه پس از اینکه اطلاعات مجددا به textbox ها فراخوانی می شوند می بینم که در ادامه اطلاعاتی که قبلا وارد شده و اکنون فراخوانی شده 4 تا 5 کاراکتر فضای خالی هم ذخیره شده ! بدون اینکه این فضای خالی را خودم وارد کرده باشم! علتش چی می تونه باشه؟ممنون

seven7777777
شنبه 02 مهر 1390, 11:41 صبح
برای منم پیش اومده . مشکلش رو نمیدونم ولی راه حلش استفاده از متد Trim هست .

salehvasaleh
شنبه 02 مهر 1390, 11:46 صبح
برای منم پیش اومده . مشکلش رو نمیدونم ولی راه حلش استفاده از متد Trim هست .
ممنون از پاسختون. این مشکل برای شما در زمان داده های فارسی پیش اومده یا انگلیسی؟
با این متد مشکل حله؟

faravaghi
شنبه 02 مهر 1390, 12:05 عصر
سلام دوستان،
بانکی که استفاده می کنید چیه؟
اگه با SQL Server کار میکنید و فیلد مورد نظر از نوع nchar انتخاب کردید باید بگم این نوع طول ثابت داره. یعنی اگه شما به اون فیلد گفتین از نوع nchar باش با طول 20، برای شما 20 کاراکتر در نظر میگیره و وقتی ذخیره میکنید اگه تعدادش از 20 کمتر باشه با فضای خالی(Space) پر میکنه.
ولی اگه مشکلی با این نوع دارین می تونید از نوع nvarchar استفاده کنید زیرا این نوع طولش متغیره.

nchar and nvarchar (http://msdn.microsoft.com/en-us/library/ms186939.aspx)


nchar [ ( n ) ]
Fixed-length Unicode character data of n characters. n must be a value from 1 through 4,000. The storage size is two times n bytes. The ISO synonyms for nchar are national char and national character.

nvarchar [ ( n | max ) ]
Variable-length Unicode character data. ncan be a value from 1 through 4,000. max indicates that the maximum storage size is 2^31-1 bytes. The storage size, in bytes, is two times the number of characters entered + 2 bytes. The data entered can be 0 characters in length. The ISO synonyms for nvarchar are national char varying and national character varying.

seven7777777
شنبه 02 مهر 1390, 12:08 عصر
مال من با هر دو برام پیش اومده ، هم فارسی هم انگلیسی . نه مشکل از دیتابیس هم نبود چون مال من همون nvarchar بود .
بله ، شما کافیه وقتی می خوای اطلاعات رو داخل database ثبت کنی ( البته متنی هارو ) به شکل زیر عمل کنی :

TextBox1.Text.Trim()

که میاد و فضاهای خالی سمت چپ و راست نوشته شا رو حذف می کنه .
موفق باشید