PDA

View Full Version : فوری:مقایسه فیلد از نوع کاراکتری



h.alizadeh
جمعه 04 آبان 1386, 21:35 عصر
سلام

چطوری می توان مقدار فیلد رشته ای (مثلا (char (15) از بانک را با مقدار رشته ای خاص مقایسه کرد؟؟؟

مثلا من از جدول بانکم رکوردی رو استخراج کردم و از SqlDataReader استفاده کردم ،

حالا مثلا می خوام اگر فیلد foriyat(اسم فیلد موردنظرمه) مقدارش "آنی" بود یک کار انجام بده وگرنه یک کار دیگه و.....

چجوری می تونم این مقایسه رو انجام بدم؟؟؟؟؟؟؟

نوع عددی برام جواب میده ولی رشته ای نه!!!


تشکر

merlin_vista
جمعه 04 آبان 1386, 21:44 عصر
خوب عزیز مقدار اون را بریز توی یک متغیر و سپس با یک شرط ساده If آن را چک کن و هر کاری خواصتی باهاش بگو !! اگه جایی از این کار مشکل داشتی بگو .

h.alizadeh
شنبه 05 آبان 1386, 09:51 صبح
مرسی
اما نمیشه....
ببینید اینم قسمتی از کد برنامه م:


Dim dtrusers As SqlDataReader


dim nam as string
nam=dtrusers( "username" )

if strcomp(nam,"halizadeh")=0 then
lblmessage222.text =(dtrusers( "username" ))

else
lblmessage222.text ="*************"
end if

اینجوری هم جواب نداد:

dim nam as string
nam=dtrusers( "username" )

if nam="halizadeh" then
lblmessage222.text =(dtrusers( "username" ))

else
lblmessage222.text ="*************"
end if

چه مقدار فیلد من halizadehباشه چه یک مقدار دیگه همیشه شرطم Falseمیشه و ستاره نشون میده!!

حتی مقدار فیلد رو در یک labelقرار دادم و بعد رشته رو با labelمقایسه کردم ولی بازم نشد....


لطفاً راهنمای م کنید خیلی ضروری هست

ClaimAlireza
شنبه 05 آبان 1386, 10:45 صبح
چک کردی ببینی توی متغیر nam چی میریزه؟

نتیجه رو اعلام کن.

merlin_vista
شنبه 05 آبان 1386, 13:35 عصر
آره مستقیم مقدار nam را در یک لیبیل چاپ کن ببین چیزی چاپ میکنه !

mahdi_farhani
شنبه 05 آبان 1386, 15:18 عصر
حروف را از نظر کوچک و بزرگی ( اگر انگلیسی باشه )‌ چک کن در ضمن فاصله های موجود را با استفاده از دستور Trim حذف کن بعد مقایسه کن .
*************
از درست پر شدن متغییر Nam هم اطمینان پیدا کن بعد .....

sama01
یک شنبه 06 آبان 1386, 01:06 صبح
احتمال خیلی زیاد، اشکال کار در عبارت ذخیره شده در پایگاه داده است. مثلا اگر نوع فیلد را nChar گذاشته باشید که 15 کاراکتر طور داشته باشد، اگر مقداری را که در آن می‌ریزید، تنها 5 کاراکتر باشد، 10 عدد space به آن اضافه می‌کند تا 15 کاراکتر شود.
در این حالت یا باید نوع فیلد را به nVarChar تغییر دهید و یا در هنگام مقایسه، با استفاده از trim، فاصله‌های ابتدا و انتها را حذف کنید.

h.alizadeh
دوشنبه 07 آبان 1386, 07:13 صبح
از همه ممنونم با Trim فاصله ها رو از بین بردم

ولی من چند روز پیش که تایپیک زدم با trimهم فاصله ها رو از بین می بردم ولی بازم جواب نمی گرفتم!!!!

ولی دیروز کردم جواب گرفتمhttp://qsmile.com/qsimages/36.gif