Tekil Mesaj gösterimi
  #2 (permalink)   iTrader 
Alt 2008-05-10, 00:40
kaziklivoyvoda kaziklivoyvoda isimli üyemiz çevrimdışıdır. (Offline)
Junior Member
 
Üyelik tarihi: Mar 2008
Mesajlar: 13
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
kaziklivoyvoda is an unknown quantity at this point
Standart

Alıntı:
BLooD_NiGhT´isimli üyeden Alıntı Mesajı göster
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.
Alıntı ile Cevapla