Προς το περιεχόμενο

ASP πρόσθεση recordsets σε Dreamweaver


focus

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω να προσθέσω αποτελέσματα από Recordets που κάνουν Sum. Όταν έχω τιμές στους πίνακες στον SQL Server όλα οκ . Όταν όμως δεν έχω τιμές. σκάει Error

><% teliko_sinolo_olon = CDbl(Recordset2.Fields.Item("").Value) + CDbl(Recordset4.Fields.Item("").Value) + CDbl(Sum_ex_aft.Fields.Item("").Value) + CDbl(Sum_ex_til.Fields.Item("").Value) + CDbl(Recordset5.Fields.Item("").Value) + CDbl(Recordset6.Fields.Item("").Value) + CDbl(Recordset8.Fields.Item("").Value)
response.Write teliko_sinolo_olon%>

Δημοσ.

Αν διαβάσεις για την cDbl στο w3schools ή στη microsoft θα διαπιστώσεις πως αναφέρουν

The expression argument is any valid expression

 

που σημαίνει πως η παράμετρος της συνάρτησης πρέπει να έχει αποδεκτή τιμή ..

 

το άδειο string ή το null δεν είναι αποδεκτές τιμές που μπορούν να μετατραπούν σε double..

 

Πρέπει λοιπόν, πριν τις περάσεις από την cDbl να επιβάλλεις να έχουν σωστή τιμή .. αν είναι άδειες ή null βάλε τους 0

 

Θα μπορούσες να φτιάξεις μια συνάρτηση που να κάνει την μετατροπή

πχ.

>function numericOrZero( aNumber )
 if isNumeric(aNumber)
   numericOrZero = aNumber
 else
   numericOrZero = 0
 end if
end function

 

και να τη φωνάζεις ως

>teliko_sinolo_olon = CDbl( numericOrZero( Recordset2.Fields.Item("").Value) )

η θα μπορούσες να κάνεις και τη μετατροπή σε double μέσα στη συνάρτηση ..

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...