ورود

View Full Version : سوال: چك كردن مقدار موجود در فيلد با SQL



eidazha
پنج شنبه 22 مهر 1389, 01:27 صبح
سلام و خسته نباشيد
من يه برنامه با ASP CLASSIC مينويسم كه اين برنامه تعدادي لينك از طريق RSS ميگيره و تو ديتابيس ذخيره ميكنه (SQL Server 2000) ميخوام هنگام ثبت چك كنه ببينه اگر قبلا لينگ ثبت شده ديگه ثبت نكنه من از كد زير استفاده ميكنم

RS.open ("SELECT * FROM news WHERE links=" & "'" & xmlItem.childNodes(1).text & "'" ),conn

if rs.recordcount=0 then

كدها مربوط ثبت كردن اطلاعات اينجا
end if

وقتي ديتابيسم Acess بود اين روش كار ميكرد ولي الان كه با SQL ميخوام كار كنم نميتونه مقدار رو چك كنه و تعداد ركوردها رو برابر -1 نشون ميده ! recordcount=-1

آيا شما روشي به خير از بالا بلد هستيد ؟
در ضمن links از نوع nvarchar هست

ممنون ميشم جواب بديد

حمیدرضاصادقیان
پنج شنبه 22 مهر 1389, 08:56 صبح
سلام.
این کد رو امتحان کنید:


SELECT * FROM news WHERE links='+xmlItem.childNodes(1).text +'

کد بالا اگر دقیقا لینک شما باشه بهتون پیغام میده.
ولی کد پایین اگر مشابهش باشه هم بهتون نمایش میده.



SELECT * FROM news WHERE links like '%'+xmlItem.childNodes(1).text +'%'

موفق باشید

eidazha
پنج شنبه 22 مهر 1389, 11:50 صبح
ممنون حميدرضا جان
ولي بازم درست نشد :(

behrouzlo
پنج شنبه 22 مهر 1389, 12:25 عصر
به شکل زیر تست کنید :


"SELECT * FROM news WHERE links=" & "N'" & xmlItem.childNodes(1).text & "'"

eidazha
پنج شنبه 22 مهر 1389, 13:49 عصر
ممنون بهروز جان
ولي بازم كار نميكنه
ميگم نكنه چون من از XML ميخونم نميتونه چك كنه ؟

روشي به غير از WHERE وجود نداره ؟

eidazha
پنج شنبه 22 مهر 1389, 21:40 عصر
من هر كاري ميكنم تعداد recordcount برابر -1 هست !!!
حتي به اين صورت هم مينويسم
"SELECT * FROM news WHERE links='ddfsdffsdfsd' "
ولي بازم تعداد recordcount برابر 0 هست ! امكان نداره تو فيلد links لينگي به نام ddfsdffsdfsd باشه !

ديگر دوستان نميدونن مشكل چيه ؟