PDA

View Full Version : مشکل در select کردن در برنامه C#



hesam_dj10
شنبه 29 فروردین 1394, 12:41 عصر
سلام من یه کد نوشتم بدین صورت
SELECT * FROM [fazelab].[dbo].[moshtarak] where karbar_reg = 'آقای منتظری'

هیچی بهم نمیده
ولی اگه karbar_rgg رو بکنم نام یا فامیل بهم اطلاعاتو میده
مشکل چیه؟

Mofid.m
شنبه 29 فروردین 1394, 12:58 عصر
درود به شما
توی خود sql server یه Query بزن ببین اونجا بهت جواب میده

ali_khodayar
شنبه 29 فروردین 1394, 13:35 عصر
بعضی وقت ها مشکل "ی" فارسی و "ي" عربی هست. به این نکته توجه کن.
بنظرم از LIKE استفاه کنی بهتره و یا اینکه کلا جستجو رو بر اساس فیلد دیگری انجام بدی .

hesam_dj10
یک شنبه 30 فروردین 1394, 08:03 صبح
درود به شما
توی خود sql server یه Query بزن ببین اونجا بهت جواب میده

جالبه اونجا هم انجام نمیده؟؟؟

hesam_dj10
یک شنبه 30 فروردین 1394, 08:05 صبح
بعضی وقت ها مشکل "ی" فارسی و "ي" عربی هست. به این نکته توجه کن.
بنظرم از LIKE استفاه کنی بهتره و یا اینکه کلا جستجو رو بر اساس فیلد دیگری انجام بدی .
میدونی از کجا تعجب میکنم؟
من نام علی رو توی فیلد نام جستجو میکنم البته با like هم امتحان کردم درست جواب میده
ولی فیلد رو میکنم karbar_reg هیچ اطلاعاتی نمیده
یعنی موندم در عجب!@!

salibsatan
یک شنبه 30 فروردین 1394, 08:34 صبح
یعنی شما هم نام رو در دوتا فیلد ذخیره می کنید؟
نوع فیلدها یکی هستن؟NVARCHAR؟

hesam_dj10
دوشنبه 31 فروردین 1394, 07:00 صبح
یعنی شما هم نام رو در دوتا فیلد ذخیره می کنید؟
نوع فیلدها یکی هستن؟NVARCHAR؟

خیر ببیند یه جدول دارو با فیلد های
name- family-karbar_reg
همشون هم nvarchar هستند
حالا وقتی می نویسم
select * from tbl where name = "علی"
اطلاعات رو برام میاره
ولی وقتی مینویسم
select * from tbl where name = "منتظری"
هیچ اطلاعاتی برام نمیاره
درصورتی که مطمئنم که من فیلدی بنام منتظری دارم.
البته با like هم امتحان کردم ولی نشد

salibsatan
دوشنبه 31 فروردین 1394, 08:38 صبح
select * from tbl where name like N'%منتظری%'

این کد رو تست کنید

Todco.ir
دوشنبه 31 فروردین 1394, 09:48 صبح
با سلام.
برای سوال شما نیازی به گذاشتن دو علامت % در قبل و بعد کلمتون نیست، چون در کوئری های بالا سرعت کمتر میشود، و البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.
بهته از امکان Full text search استفاده کنید.
در این صفحه کاملا توضیح داده شده است
http://barnamenevis.org/showthread.php?470536-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D9%88-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-Full-Text-Search-%D8%AF%D8%B1-SQL-Server

محمد رضا فاتحی
دوشنبه 31 فروردین 1394, 10:14 صبح
البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.

عجب؟ چرا؟؟؟؟؟؟؟؟؟؟؟؟؟ کوئری شون که درسته... و هیچ دلیلی وجود نداره که اگه دوتا باشه چیزی بر نگردونه!!

hesam_dj10
دوشنبه 31 فروردین 1394, 13:26 عصر
با سلام.
برای سوال شما نیازی به گذاشتن دو علامت % در قبل و بعد کلمتون نیست، چون در کوئری های بالا سرعت کمتر میشود، و البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.
بهته از امکان Full text search استفاده کنید.
در این صفحه کاملا توضیح داده شده است
http://barnamenevis.org/showthread.php?470536-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D9%88-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-Full-Text-Search-%D8%AF%D8%B1-SQL-Server


چرا نباید چیزی برگردونه؟؟؟//؟/

hesam_dj10
دوشنبه 31 فروردین 1394, 13:27 عصر
select * from tbl where name like N'%منتظری%'

این کد رو تست کنید


n برای چیه


نه چیزی نمیده
خدااااااااااااا یعنی مشکی کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟

محمد رضا فاتحی
سه شنبه 01 اردیبهشت 1394, 08:28 صبح
وقتی می خواین تو اسکیوال با فارسی کار کنید باید N بگذارید می تونید تکه برنامه تون رو بزارید بچه ها چک کنن؟ همراه با جدولی که خودتون طراحی کردید؟

D3M3NT0R
سه شنبه 01 اردیبهشت 1394, 17:16 عصر
البته فکر میکنم اگر شما دوتا مقدار 'منتظری' دورن جدولتون داشته باشید کوئری پاسخی برنگردونه.





چی ؟ :متعجب:
قابلیت جدیده به sql اضاف شده ؟ :قهقهه:
نه دوست عزیز اصلا دلیل نمیشه اگه داده تکراری باشه چیزی رو برنگردونه

D3M3NT0R
سه شنبه 01 اردیبهشت 1394, 17:19 عصر
خدااااااااااااا یعنی مشکی کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟

دوست عزیز
شما روی table راست کلیک کن بزن edit top 200 rows یه اسکرین شات بگیر
از query که نوشتی و result اجرای دستور هم اسکرین شات بگیر
بفرس تا دوستان ببینن مشکل از کجا هست
اینجوری نمیشه فهمید :چشمک:

hesam_dj10
سه شنبه 01 اردیبهشت 1394, 19:55 عصر
اقا ممنون مشکل با N رفع شد