Alıntı:
BLooD_NiGhT´isimli üyeden Alıntı
merhaba arkadaşlar.
geçenlerde bi arkadaşım sorununu paylaştı benimle. access ten mssql ye geçtikten sonra scriptinde şöyle bir hata yaşıyor.
mssqlden çektigi degeri sessiondaki bir deger ile işleme sokuyor.
if Rs("id_veri") = session("id_veri") then
Response.Write"işleme devam et."
else
Response.Write"işlemi durdur."
end if
access kullandıgı zamanlarda sorun yaşamıyordu mssql ye geçtikten sonra degerler eşit olmasına rağmen " işlemi durdur" konumuna geliyor.
gelen veriler eşleşmiyor diye düşündüm iki veriyide ekrana yazdırdım.
Rs den gelen veri "1" sessiondan gelen veride "1" yani veriler aynı bunda bi problem görünmüyor.
sizce neden olabilir ?
|
Verileri aynı tipe çevirmeyi dene.
Yani
Alıntı:
|
if Rs("id_veri") = session("id_veri") then
|
satırından önce bu verileri convert edebilirsin. Daha da garantiye almak için ben olsam değişkene atardım. Yani şöyle yazardım.
Alıntı:
dbid=Rs("id_veri")
sesid=session("id_veri")
dbid=cdbl(dbid)
sesid=cdbl(sesid)
if dbid = sesid then
|
Niye değişkenle uğraşıp veya direkt eşitleme satırlarında çevirme işlemini yapmadık, işi uzattım? Çünkü null gibi durumlarda kontrol ederken değişkenleri kullanmak daha faydalı olabiliyor. Sanıyorum bu hata, cdbl veya clng gibi kodlarla gelen veriyi aynı data tipine çevirdiğinde çözülebilir.