PDA

View Full Version : مشکل ترکیب اعداد وحروف



davood3830
سه شنبه 29 آذر 1384, 16:29 عصر
من یک برنامه دبیرخانه با vb.net نوشته ام اما برای وارد کردن شماره نامه که ترکیبی از حروف فارسی و اعداد است با مشکل مواجه شده ام .چرا که رشته را هر طوری وارد می کنم حروف فارسی به انتهای رشته منتقل می شوند.
البته من از .net 2003 استفاده می کنم و شماره نامه ها فرمت ثابتی ندارد.اما با بررسی هایی که تا به حال کرده ام فکر نمی کنم این مشکل مربوط به vb و application من باشد چرا که من به هر ترتیبی یک رشته را از فرم خود وارد می کنم در sql به هم می ریزد. مثلاً وقتی شماره را بصورت 6020/بط/11 وارد می کنم در جدول به صورت بط/6020/11 ذخیره می گردد.حتی وقتی به طور مستقیم در خود جدول (از طریقenterprise manager) تایپ می کنم نیز همین اشکال وجود دارد.جالب اینجاست که وقتی این مقدار را از جدول کپی کرده و در ms word درج می کنم صحیح نمایش داده می شود.پس در sql هم درست ذخیره می شود اما صحیح نمایش داده نمی شود.به هر حال هر کاری کردم مقادیر را در grid یا گزارشات کریستال درست نمایش دهد ، نشد که نشد.

mhaeri
سه شنبه 29 آذر 1384, 16:44 عصر
نوع فیلدتون Nvarchar هست؟
آیا قبل از Insert , کاراکتر N را می گذارید؟

davood3830
چهارشنبه 30 آذر 1384, 09:01 صبح
دستور insert در یک stored procedure انجام می شود و مقادیری که باید درج شوند از طریق پارامترهای ورودی آن در دستور insert قرار می گیرند.مثلا
insert into db_namweh (shomareh) values(@shomareh)0
,وقتی کنار @shomreh حرف N می گذارم error می دهد.اما برای آزمایش از query analyzer به طریقی گفتید insert کردم .مشکل حل نشد.

Kamyar.Kimiyabeigi
چهارشنبه 30 آذر 1384, 10:03 صبح
من هم این مشکل رو دارم فکر میکنم باید کامپوننتها Unicode باشند تا درست نشون بدن

vadood
چهارشنبه 30 آذر 1384, 18:42 عصر
مشکل به SQL Server مربوط نمی شود. user interface برنامه شما متن BiDi را درست نشان نمی دهد.

صابر
پنج شنبه 01 دی 1384, 03:25 صبح
وقتی داده‌ها رو توی ms word کپی می‌کنید، دایرکشن رو از راست به چپ تنظیم می‌کنید که صحیح نمایش داده می‌شوند؟
جهت گرید شما از راست به چپ است؟

davood3830
شنبه 10 دی 1384, 12:03 عصر
ضمن تشکر.
rtl یا ltr را درتمام موارد چک کردم بی تاثیر بود .فکر نمی کنم مشکل ربطی به این داشته باشد.

davood3830
شنبه 10 دی 1384, 12:11 عصر
منظورتان را نمی فهم ،لطفاً بیشتر توضیح دهید.به هر حال من از vb.net در محیط فارسی استفاده می کنم و جز این مورد در سایر موارد به مشکلی برنخورده ام.چطور ممکن است bidirectional مربوط به UI مشکل داشته باشد
متشکرم.

aliasghar
شنبه 17 دی 1384, 11:40 صبح
مشکل به SQL Server مربوط نمی شود. user interface برنامه شما متن BiDi را درست نشان نمی دهد.

من هم فکر میکنم همینطور باشد
به انتهای رشته widechar(ord($200F)); را اضافه کن
البته widechar مال دلفی هست

deuce
دوشنبه 19 دی 1384, 16:41 عصر
سلام
اطلاعات در mssql درست ذخیره شده اند ولی grid های خود mssql راست به چپ را درست نمایش نمی دهند.
در مورد crystal reports روی field مورد نظر right click کنید و format text را بزنید سپس در قسمت paragraph 'گزینه Right to Left را انتخاب کنید تا نمایش درست شود