PDA

View Full Version : error در دستور select



bahar_engineer
جمعه 12 خرداد 1391, 01:23 صبح
سلام
من یه سورس دارم که توی یه قسمتی می آد ایمیل های نامعتبر را غیرفعال می کنه
این دستور update هست
اما موقع اجرا خطا می ده


Dim com As New SqlCommand("Update Mytable Set Active='False' Where (Email IN (" & Error_Email & "))", con)


خطاش هم اینه :
Unclosed quotation mark after the character string ''))'.
Incorrect syntax near ''))'.

Hossis
جمعه 12 خرداد 1391, 12:18 عصر
Dim com As New SqlCommand("Update Mytable Set Active='False' Where (Email IN (' & Error_Email & '))", con)

bahar_engineer
جمعه 12 خرداد 1391, 17:33 عصر
اینطوری که متغیر Error_Email رو به عنوان یک رشته می گیره! این باید متغیر باشه

ali_najari
جمعه 12 خرداد 1391, 19:01 عصر
دوست عزیز امکان داره برنامه و بانک اطلاعاتیت رو بذاری یا یه نمونه درست کنی و بذاری ؟
یا در صورت امکان متن Error_Email رو بذار

ali_najari
جمعه 12 خرداد 1391, 19:07 عصر
چون لیست ایمیل ها بصورت متن هست پس باید مثلا به صورت زیر اجرا کنی
احتمال Syntax رو اول و اخر ایمیل نمیزاری که این مشکل پیش میاد

لطفا متن Error_Email رو بزارید



Dim Error_Email As string = "'ali.najari@gmail.com','ali.najari@kavirmotor.com'" & _
",'Najari_6409@yahoo.com','ali.najari@ymail.com'" & _
",'ali.najari@hotmail.com','ali.najari@live.com'"

Dim com As New SqlCommand("Update Mytable Set Active='False' Where (Email IN (" & Error_Email & ))", con)

bahar_engineer
شنبه 13 خرداد 1391, 20:53 عصر
چون لیست ایمیل ها بصورت متن هست پس باید مثلا به صورت زیر اجرا کنی
احتمال Syntax رو اول و اخر ایمیل نمیزاری که این مشکل پیش میاد

لطفا متن Error_Email رو بزارید



Dim Error_Email As string = "'ali.najari@gmail.com','ali.najari@kavirmotor.com'" & _
",'Najari_6409@yahoo.com','ali.najari@ymail.com'" & _
",'ali.najari@hotmail.com','ali.najari@live.com'"

Dim com As New SqlCommand("Update Mytable Set Active='False' Where (Email IN (" & Error_Email & ))", con)




سلام
ممنون از پاسختون
بله این خطا موقعی که به ایمیل های نامعتبر می رسه رخ می ده. ایمیل ها رو کاربران وارد می کنند. من نمی تونم ایمیل ها رو بیشتر از این چک کنم... با این وجود دونستن لیست ایمیل ها مشکلی رو حل می کنه؟ Error_Email یه متغیره که ایمیل هایی که کاربران وارد کردند و توی بانک اطلاعاتی هستند رو توی این متغیر می ریزیم و چک می کنیم که هر کدوم از کاربران ایمیل نامعتبر وارد کرده بودن اون کاربر غیرفعال بشه

Hybrid
یک شنبه 21 خرداد 1391, 11:16 صبح
سلام دوستان ،

اول بگین نوع فیلد Active چیه ؟ اگه bit هست پس نباید از تک کوتیشن استفاده کنید ، اگر هم رشته هست درسته.

در ضمن شما 2 تا پرانتز اضافی گذاشتین و نباید بزارین یکی قبل از Email و همچنین یکی از 2 تا پرانتز بسته

اونا رو حذف کن تا مشکل حل بشه.

گرامر دستور IN در SQL (http://www.w3schools.com/sql/sql_in.asp)