Link to home
Start Free TrialLog in
Avatar of RickyGtz
RickyGtz

asked on

Classic ASP: Error When trying to insert values (scores) on a SQL database

I have a admin page in which i want to enter the scores for a given Golfer and store this on a sql database .
When I enter the score for all 18 holes , it does it correctly, but when i choose front 9 or back 9 , it show me an error message.
<%
dim colorTee
dim showThis
if request("radTee")="" then 
%>
<script language=vbs>
 msgbox("Please Select an Option")
 history.go(-1)
</script>		
<%
end if
colorTee = mid(request("radTee"),1, len(request("radTee"))-2)
showThis = mid(request("radTee"), len(request("radTee"))-1, 2)
 
set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * from CourseHoles WHERE CourseID = " & Cint(request("hidCourseID")) & "AND Difficulty = '" & colorTee & "'"
 
rs.Open sql, conSQL
if not rs.EOF then rs.movefirst
 
dim yardsOUT
dim yardsIN
dim totalYards
 
yardsOUT=0
yardsIN=0
yardsOUT = rs("h1") + rs("h2") + rs("h3") + rs("h4") + rs("h5") + rs("h6") + rs("h7") + rs("h8") + rs("h9")
yardsIN = rs("h10") + rs("h11") + rs("h12") + rs("h13") + rs("h14") + rs("h15") + rs("h16") + rs("h17") + rs("h18")
 
totalYards = yardsOUT + yardsIN 
 
set rs2 = Server.CreateObject("ADODB.Recordset")
sql2 = "SELECT * from CourseHoles WHERE CourseID = " & Cint(request("hidCourseID")) & "AND Difficulty = 'Par'"
rs2.Open sql2, conSQL
if not rs2.EOF then rs2.movefirst
 
dim totalPar
totalPar = int(request("hidFrontPar")) + int(request("hidBackPar"))
 
%>

Open in new window

Avatar of rhodesb
rhodesb

Do you get the errors when you run an 'INSERT' statement?  I don't see any INSERT statements in your code above.  If the error is occurring on an insert statement, then likely you are inserting black data into fields that are set to 'required' or something similar.  Change the properties of the fields that store the data for the back 9 to not be required fields and you won't have the error anymore.

Also, in order not to waste server resources, any objects that you create and/or open should be closed and/or destroyed when you are done using them as ASP does not have automatic garbage collection.  If you don't then the object will still be on the server once your page has output and the resources won't free up until they time out (usually 20 minutes).  So after you are finished using your recordset objects, they should be destroyed:
rs.close
set rs = nothing
rs2.close
set rs2 = nothing
Avatar of RickyGtz

ASKER

This is the full code where I get the error '80020009'


<% level="../../"%>
<!-- #include file="../logincheck.asp"-->
<!--#include file="../include/intialize.inc"-->
<!--include file="../include/connection.asp"-->
<!--#include file="../../../Connections/sqlConn1.asp" -->
 
<%
dim colorTee
dim showThis
if request("radTee")="" then 
%>
<script language=vbs>
 msgbox("Please Select an Option")
 history.go(-1)
</script>		
<%
end if
colorTee = mid(request("radTee"),1, len(request("radTee"))-2)
showThis = mid(request("radTee"), len(request("radTee"))-1, 2)
 
set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * from CourseHoles WHERE CourseID = " & Cint(request("hidCourseID")) & "AND Difficulty = '" & colorTee & "'"
 
rs.Open sql, conSQL
if not rs.EOF then rs.movefirst
 
dim yardsOUT
dim yardsIN
dim totalYards
 
yardsOUT=0
yardsIN=0
yardsOUT = rs("h1") + rs("h2") + rs("h3") + rs("h4") + rs("h5") + rs("h6") + rs("h7") + rs("h8") + rs("h9")
yardsIN = rs("h10") + rs("h11") + rs("h12") + rs("h13") + rs("h14") + rs("h15") + rs("h16") + rs("h17") + rs("h18")
 
totalYards = yardsOUT + yardsIN 
 
set rs2 = Server.CreateObject("ADODB.Recordset")
sql2 = "SELECT * from CourseHoles WHERE CourseID = " & Cint(request("hidCourseID")) & "AND Difficulty = 'Par'"
rs2.Open sql2, conSQL
if not rs2.EOF then rs2.movefirst
 
dim totalPar
totalPar = int(request("hidFrontPar")) + int(request("hidBackPar"))
 
%>
 
<html>
<head>
<title><%=PageTitle%></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style/style.css" rel="stylesheet" type="text/css">
</head>
<script language="VBScript">
	sub cmdBack_OnClick
		document.location = "viewScores.asp"
	end sub
</script>

Open in new window

Does it give you a line number for the error?
No, only
error '80020009'
Before I continue looking for something more difficult, fix the missing # sign on the include in line 4 just to make sure that isn't causing the problem.  I doubt that will fix it but just to be sure.
oh thats just html commented old connection,
Right.  Sorry, I'm an idiot.
I've looked carefully over your code and I see nothing apparently wrong with any of it.  Here is my next suggestion, which is a bit of pain but shouldn't take too long.
Comment out all of your ASP code starting on line 24.  Uncomment the lines 1 at a time, running the script after each time until you find the line that seems to cause the error.  This should help point us in the right place to look.
apparently this lines are the ones are causing  the error:

yardsOUT = rs("h1") + rs("h2") + rs("h3") + rs("h4") + rs("h5") + rs("h6") + rs("h7") + rs("h8") + rs("h9")
yardsIN = rs("h10") + rs("h11") + rs("h12") + rs("h13") + rs("h14") + rs("h15") + rs("h16") + rs("h17") + rs("h18")
ASKER CERTIFIED SOLUTION
Avatar of rhodesb
rhodesb

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial