webForumDet fria alternativet

Felsökning av kod

ASP

3 svar · 196 visningar · startad av plelkes

Medlem sedan mars 2002823 inlägg
Frågan#1

Hej,
till skrivning till databas med nedanstående kod

<%@LANGUAGE="VBSCRIPT" "%>
<%

Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
sngVolym = CSng(Request.Form("volym" & lngVolym))

If left(formObj,9) = "leggatill" Then
    lngFluidID = Replace(Request.Form(formObj), "leggatill", "")

strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & lngFluidID

  Set tblFluids = vatskeb.Execute(strSQL)

najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")

  Set tblFluids = Nothing

  
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat,  Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
    
	Response.Write strSQL : Response.End

	vatskeb.Execute strSQL, , 128
  End if

            
vatskeb.close
Set vatskeb = Nothing

%>

Händer inget...
Därför försöker jag ägna mig åt felsökning.
Men när formuläret fylls i så kommer man bara till en blank sida.

Jag hade förväntat mig att strSQL skall skrivas ut

Medlem sedan juni 20034 013 inlägg
#2

Om strSQL inte skrivs ut så borde det ju vara if-satsen som inte blir sann:

If left(formObj,9) = "leggatill" Then

Vad är formObj och var får den sitt värde? Du kanske menar Request.Form-nånting?

Medlem sedan mars 2002823 inlägg
#3

det här är samma konstruktion

Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For each formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
            strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "')"

 Response.Write strSQL
vatskeb.Execute strSQL, , 128
   
     End if
Next
            
vatskeb.close
Set vatskeb = Nothing

men funkar

Medlem sedan juni 20034 013 inlägg
#4

Den här raden är inte med i din första kod:
For each formObj in Request.Form

(och så Next då förstås som avslutar loopen.)

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)