 |
|
Select แล้วไม่มี Record นำค่าไป Query Error:Microsoft VBScript runtime error '800a0006' Overflow |
|
 |
|
|
 |
 |
|
Code (ASP)
<%
if request.form ("month_fueling") <> "" then
mon_split = Split(request.form ("month_fueling"),"/")
Set rstemp = Server.CreateObject("ADODB.Recordset")
'strSplit = Split("1,2,3",",")
sql = "SELECT *, ISNULL(qty,0) AS qty2, ISNULL(unit,0) As unit2 , ISNULL(kilo_no,0) AS kilo2 FROM wguses Where month(fill_date) = '"&mon_split(0)&"' and year(fill_date) = '"&mon_split(1)&"' AND card_no='"&request.form("fleet_id")&"' "
rstemp.open sql,sConn,1,3
if rstemp.EOF then
norecord="ไม่พบข้อมูลการใช้พลังงานเชื้อเพลิง"
else
norecord=""
countbill = rstemp.recordcount
consumption = Cdbl(0)
minn=Cdbl(rstemp("kilo2"))
While not rstemp.EOF
totalqty = Cdbl(totalqty) + Cdbl(rstemp("qty2"))
totalunit= Cdbl(totalunit) + Cdbl(rstemp("unit2"))
sumcost= Cdbl(sumcost) + (cdbl(rstemp("qty2"))* cdbl(rstemp("unit2")))
consumption = Cdbl(rstemp("kilo2"))
rstemp.movenext
Wend
Set rstemp =nothing
end if
end if
_________________________________________________________
บรรทัดที่ Error งงว่าทำไม overflow เพราะเก็บค่าไว้ในตัวแปร <% =formatnumber(consumption-minn)/(totalunit) %>
Tag : ASP, Ms SQL Server 2008
|
ประวัติการแก้ไข 2012-02-23 13:22:05 2012-02-23 13:23:39
|
 |
 |
 |
 |
Date :
2012-02-23 10:53:10 |
By :
imperator |
View :
1721 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง
Code (ASP)
sql = "SELECT *, ISNULL(qty,0) AS qty2, ISNULL(unit,0) As unit2 , ISNULL(kilo_no,0) AS kilo2 FROM wguses Where month(fill_date) = '"&mon_split(0)&"' and year(fill_date) = '"&mon_split(1)&"' AND card_no='"&request.form("fleet_id")&"' "
response.wrire sql ขึ้นมา แล้ว Copy เอาไป Run ใน SQL ดูว่าค่าที่ได้เป็นอย่างไร ค่าบางค่าอาจจะ มากเกินไป
|
 |
 |
 |
 |
Date :
2012-02-23 13:50:59 |
By :
Thep |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมนำ (consumption-minn)/(totalunit)
ถ้ามี Record จะไม่ Error เช่น (3500-3000)/60
แต่ถ้าไม่มี Record จะ Error '800a0006' Overflow
|
 |
 |
 |
 |
Date :
2012-02-23 14:10:37 |
By :
imperator |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นาย ก้อ ใช้
if ถ้ามีค่า then
response.write formatnumber((consumption-minn)/(totalunit),0)
end if
|
 |
 |
 |
 |
Date :
2012-02-23 14:17:19 |
By :
Thep |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อะไรๆ ก็ปกติดีนะครับ มาError ตอนเอา /(totalunit) ถ้าไม่เอาตัวนี้มาหารก็ไม่พบ Error อะไร
ลองเปลี่ยนเป็น Cint ก็ยังเป็นอยู่
|
 |
 |
 |
 |
Date :
2012-02-23 14:40:08 |
By :
imperator |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับขอบคุณมาก
|
 |
 |
 |
 |
Date :
2012-02-23 16:44:15 |
By :
imperator |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|