ورود

View Full Version : سوال: چرا وقتی تو کوئری Select برای فیلتر کردن از Where استفاده میکنیم و مقدار را فارسی میدهیم عمل نمیکند؟



ostovarit
پنج شنبه 10 تیر 1389, 17:53 عصر
با سلام و خسته نباشید کوئری زیر برای فیلتر کردن با مقادیر فارسی عمل نمیکند


SELECT CID, Date, FullName, Tel, Fax, Mob, PostalCode, Email, City, Address, Situation, Value
FROM RegCustomer
WHERE (FullName = 'مشتری یک')


دلیل چیست؟

Behrouz_Rad
پنج شنبه 10 تیر 1389, 18:02 عصر
احتمالاً "ی" مشکل ساز شده. آیا با مقادیری که "ی" و "ک" در اونها وجود نداره هم همین مشکل رو داری؟

behrouzlo
پنج شنبه 10 تیر 1389, 18:10 عصر
فكر كنم يك N كار شما را راه بياندازه

SELECT CID, Date, FullName, Tel, Fax, Mob, PostalCode, Email, City, Address, Situation, Value
FROM RegCustomer
WHERE (FullName = N'مشتری یک')

behrouzlo
پنج شنبه 10 تیر 1389, 18:11 عصر
فكر كنم يك N كار شما را راه بياندازه

SELECT CID, Date, FullName, Tel, Fax, Mob, PostalCode, Email, City, Address, Situation, Value
FROM RegCustomer
WHERE (FullName = N'مشتری یک')

pezhvakco
پنج شنبه 10 تیر 1389, 19:56 عصر
درود :
اولین قدم در به جواب رسیدن جستجو ...

http://barnamenevis.org/forum/showthread.php?t=230682

فکر خوش .

ostovarit
پنج شنبه 10 تیر 1389, 20:00 عصر
حق با شما بود و با قرار دادن N مشکلم حل شد ...

البته مشکل رو با کد زیر حل کرده بودم:


SqlDataAdapter da = new SqlDataAdapter("select * from CustomerBankAcc where FullName=N'" + txtCustomerName.Text + "'", new myConnection().Cnn);
da.SelectCommand.Parameters.AddWithValue("@name", txtCustomerName.Text);

اگر امکانش هست برام توضیح بدید این N بیانگر چیه و چطور مشکل رو حل میکنه؟؟؟
از N استفاده کنم بهتره یا اینکه از روش خودم که کدش رو گذاشتم ؟؟؟

SilverGold
پنج شنبه 10 تیر 1389, 20:08 عصر
N = Nvarchar
برای فارسی خیلی خوب کاربرد داره