View Full Version : مبتدی: مشکل با کاراکتر '
meysam_online2012
چهارشنبه 07 اسفند 1392, 19:33 عصر
سلام
من یه دستور select نوشتم ولی توی ورودی نمی تونم کاراکتر ' وارد کنم میشه بگین چیکار باید بکنم؟
ممنون
hamid_hr
چهارشنبه 07 اسفند 1392, 19:52 عصر
دستور select رو میشه بزاری؟
meysam_online2012
چهارشنبه 07 اسفند 1392, 19:55 عصر
دستور select رو میشه بزاری؟
"SELECT english,farsi FROM dic WHERE dic.english LIKE '" + CurrentDic.English + "'"
اگه مقدار currentdic.english کاراکتر ' داشته باشه ارور میده
mandanim
چهارشنبه 07 اسفند 1392, 23:35 عصر
باید قبلش \ بذاری
NasimBamdad
چهارشنبه 07 اسفند 1392, 23:51 عصر
یه @ اول رشته ات بگذار .
meysam_online2012
پنج شنبه 08 اسفند 1392, 20:36 عصر
یه @ اول رشته ات بگذار .
این روش و روش قبل هم جواب نمیدن
erfan_urchin
پنج شنبه 08 اسفند 1392, 21:28 عصر
کدت درسته. خطایی که میده رو بنویس ببینیم چیه؟؟؟
meysam_online2012
پنج شنبه 08 اسفند 1392, 21:56 عصر
کدت درسته. خطایی که میده رو بنویس ببینیم چیه؟؟؟
An exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll but was not handled in user code
Additional information: Syntax error (missing operator) in query expression 'dicFarsi.english LIKE 'a mason's tools''.
این خطاییه که میده به خاطر اون کاراکتر ' خطا میده
erfan_urchin
پنج شنبه 08 اسفند 1392, 23:49 عصر
آها فکر کنم داره از چیزی که داخل ' نوشتی ایراد میگیره
CurrentDic چیه؟؟؟ کلاسه؟؟؟ English چیه؟ متده؟؟؟
احتمالا CurrentDic.English مشکلی داره
Mahmoud.Afrad
جمعه 09 اسفند 1392, 00:55 صبح
در sql ' برای شناسایی رشته هست(دو طرف رشته ' قرار میگیره) هر جا بهش برسه ابتدا یا انتهای رشته رو تعیین میکنه و اگر تعداد ' ها زوج نباشه(در رشته کوئری) مشکل بوجود میاد.
باید مقدار رو بصورت پارامتر ارسال کنی.
erfan_urchin
جمعه 09 اسفند 1392, 20:58 عصر
در sql ' برای شناسایی رشته هست(دو طرف رشته ' قرار میگیره) هر جا بهش برسه ابتدا یا انتهای رشته رو تعیین میکنه و اگر تعداد ' ها زوج نباشه(در رشته کوئری) مشکل بوجود میاد.
باید مقدار رو بصورت پارامتر ارسال کنی.
مگه این کدارو توی SQL نوشتی؟؟؟؟!!!!!!! من فکر کردم تو C# توی SqlDataAdapter نوشتی که توی " " گذاشتی کدتو!!!!
Mahmoud.Afrad
جمعه 09 اسفند 1392, 21:17 عصر
مگر
SELECT english,farsi FROM dic WHERE dic.english LIKE 'anything'
یک رشته کامند sql نیست. دیتاآداپتر هم این کامند رو به sqlserver ارسال خواهد کرد.
' در sql
و
" در خانوده زبانهای C
معرف رشته هاست.
tooraj_azizi_1035
شنبه 10 اسفند 1392, 19:31 عصر
سلام
رشته رو قبل از فرستادن به SQL Server بفرست داخل این متد:
public static string DoQuotes(string sql)
{
if (sql == null)
return "";
else
return sql.Replace("'", "''");
}
mahdi87_gh
شنبه 10 اسفند 1392, 20:08 عصر
دوست عزیز. همیشه از پارامتر استفاده کنید.
پیشنهاد من اینه که کلا سوئیچ کنید روی Entity Framework. مزایای بسیاری داره و شما دیگه لازم نیست به این شکل کوئری نویسی کنید.
erfan_urchin
یک شنبه 11 اسفند 1392, 00:23 صبح
مگر
SELECT english,farsi FROM dic WHERE dic.english LIKE 'anything'
یک رشته کامند sql نیست. دیتاآداپتر هم این کامند رو به sqlserver ارسال خواهد کرد.
' در sql
و
" در خانوده زبانهای C
معرف رشته هاست.
درسته من هم منظورم همین بود. من فکر میکردم این کدهارو توی C# نوشته به خاطر همین همون اول مشکل دابل کتیشن رو بهش نگفتم چون فکر میکردم تو C# نوشته
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.