webForumDet fria alternativet

Uppdatera databasen

ASP

48 svar · 1 088 visningar · startad av plelkes · sida 3 av 3

Frågan, av plelkes

Hej jag listar innehållet i en databas med koden <%@LANGUAGE="VBSCRIPT" "%> <HTML> <HEAD> <TITLE>Untitled Document</TITLE> </HEAD> <% If Request.QueryString("type") = "" Then intType = 1 Else intType = CInt(Request.QueryString("type")) End If Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#41

Ser jag att personnumret (PatID) överhuvudtaget inte kommer med...

Personnummersfältet måste ligga i samma formulär som resten.

om formatet i databasen är datum/tid - skall jag då använad mig av CDate() ?

Nej, det behövs egentligen inte. Se bara till att datumet är korrekt formaterat i SQL-frågan, att du gör en subtypskonvertering gör varken från eller till.

Dock, om fältet är av datumtyp i tabellen, då ska du (iaf när det gäller Access) ha brädgårdar runt datumet i SQL-frågan:

            strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID) VALUES(#" & d & "#," & lngFluidID & "," & Request.Form("volym" & lngFluidID) & ", " & pnr & ")"

Mvh

Medlem sedan mars 2002823 inlägg
#42

@nders, du är Fantastisk :birp
Dina kunskaper verkar vara hellt outtömliga :) :)

Men som vanligt ngra frågor:

Personnummersfältet måste ligga i samma formulär som resten.

Varför det? och hur skall en stackars nybörjare veta det?

Medlem sedan mars 2002823 inlägg
#43

förrestän så glömde jag ytterligare en fråga:

Fältet PatID är formaterad som det syns på bilagan.

  1. är detta rätt eller bör/skall det formateras annorlunda?
  2. har formateringen betydelse för min asp eller SQL kodning?
Medlem sedan juni 200032 967 inlägg
#44

plelkes skrev:

@nders, du är Fantastisk :birp
Dina kunskaper verkar vara hellt outtömliga :) :)

:r

Men som vanligt ngra frågor:

Personnummersfältet måste ligga i samma formulär som resten.

Varför det? och hur skall en stackars nybörjare veta det?

Det är givetvis inte lätt för en stackars nybörjare att veta det.

När du klickar på en submit-knapp i ett formulär, så skickas innehållet i alla element som tillhör det formuläret enligt anvisningarna (action, method osv) i <form>-taggen. Inga formulärselement som tillhör andra formulär skickas, och det är bra det. Man vill ju kunna ha flera formulär som utför olika saker på en sida, oberoende av varandra.

Som sagt; inte helt lätt för en nybörjare att haja, men om man ser det så här: nu vet du det till nästa gång. :)

Mvh

Medlem sedan mars 2002823 inlägg
#45

kom på att datumet är felformulerat

skall vara:

d = FormatDateTime(Date, 2)
Medlem sedan mars 2002823 inlägg
#46

@nders skrev:

Personnummersfältet måste ligga i samma formulär som resten.

Men då ser jag att jag måste fylla i p-nummret på nytt varje gång.
Finns det ngt sätt att det som finns i ETT Formulär-fält är kvar då att jag kommer tillbaka till sidan? Och det fältet raderas först när jag lämnar sidan - eller när jag klickar på en länk: nytt

Medlem sedan mars 2002823 inlägg
#47

Fick en idé som jag inte kan prova eftersom jag inte sitter hemma:
Nu redirectar jag till samma sida som jag kom från ( tex sida1.asp)

Om jag istället redirectar till sida2.asp och där börjar sidan med typ:

If txtfl NotEmpty Then
//' köra sidan
och skriva[B]<inputname=<%tblVetskebalans.PatID %> type="text">[/B] 
Else Redirect "sida1.asp"
Medlem sedan mars 2002823 inlägg
#48
<%
[B]If Request.Form("personnr") <> 0 Then
Else
Redirect "lista_databas1.asp"
End If[/B] 
If Request.QueryString("type") = "" Then
  intType = 1
Else
  intType = CInt(Request.QueryString("type"))
End If

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
strSQL = "SELECT tblFluids.FluidNamn, tblFluidTypes.TypeNamn, tblFluidTypes.TypeID, tblFluids.FluidID FROM " & _
         "tblFluidRelat, tblFluids, tblFluidTypes WHERE tblFluidRelat.FluidID = tblFluids.FluidID AND" & _
		 " tblFluidRelat.typeID = tblFluidTypes.typeID AND tblFluidTypes.TypeID = " & intType & " ORDER by tblFluidTypes.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
%>

samma kod som förrut....

[B]Patientens personnummer:&nbsp;&nbsp;&nbsp;<input name="personnr" type="text" VALUE=<%= objRS("PatID") %>>
[/B]

Det fetstillta är mina ändringar...

Medlem sedan mars 2002823 inlägg
#49

vad är felet nu då?

Tyckte att det så fint ut när jag använde

Response.Write strSQL

Men nu när jag tog bort det

<%@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)
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 & ")"

[B]vatskeb.Execute strSQL, , 128[/B]
   
     End if
Next
            
vatskeb.close
Set vatskeb = Nothing

Response.Redirect "lista_databas2.asp"

 %>

får jag följande fel:

Microsoft JET Database Engine error '80040e14'

Syntax error (comma) in query expression '(#2003-11-23#,22,234, 1234567890)'.
line 17

264 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)