Avatar billede kovalt Nybegynder
14. juni 2002 - 00:23 Der er 18 kommentarer og
1 løsning

Check ud fra database

Hej alle sammen

Jeg sidder med en database, hvor det er meningen at medlemmerne af af en forening, på skift skal kunne oprette en ugerapport. Det skal naturligvis kun kunne oprettes én per uge, hvorfor jeg skal have lavet noget ASP, der checker om ugen i forvejen er oprettet er det noget nogen kan hjælpe med.

Er det noget i den her stil:

If Request.Form("ugenr") <> "" Then
strUgenr = Request.Form("ugenr")
strNavn = Request.Form("navn")

strcheckSQL = "SELECT ugenr FROM uge"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("XXXXX"))

Set rs = Conn.execute(strcheckSQL)

If Request.Form("ugenr") = rs("ugenr") Then
response.write("Ugen er allerede oprettet!!!")
Conn.Close
Set Conn = Nothing

else

stropdaterSQL = "INSERT INTO uge (ugenr, spiller)"&_
" VALUES ('" & strUgenr & "','" & strNavn & "')"
           
Conn.Execute(stropdaterSQL)
Conn.Close
Set Conn = Nothing
       
End If
%>
Avatar billede pato Nybegynder
14. juni 2002 - 00:49 #1
du må finde den med max date og dens uge nummer og checke...prøver lige

måske du skulle sætte ugenummer på formen til dags dato.

er det et datofelt?
Avatar billede kovalt Nybegynder
14. juni 2002 - 00:53 #2
Nej ugenr-kolonnen i databasen er eks. 5202 for uge 52 i år 2002. Hvis et medlem forsøger at opette en uge ved navn 5202 skal den skrive en fejl
Avatar billede pato Nybegynder
14. juni 2002 - 00:57 #3
du har en form...når du submitter den går du til samme side eller hvad
Avatar billede kovalt Nybegynder
14. juni 2002 - 00:59 #4
jeps
Avatar billede pato Nybegynder
14. juni 2002 - 01:02 #5
Prøv ....


If Request.Form("ugenr") <> "" Then
strUgenr = Request.Form("ugenr")
strNavn = Request.Form("navn")

strcheckSQL = "SELECT count(ugenr) as isthere FROM uge where ugenr='" &  strUgenr &"'"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("XXXXX"))

Set rs = Conn.execute(strcheckSQL)

If rs("isthere")>0 then
response.write("Ugen er allerede oprettet!!!")
end if

Conn.Close
Set Conn = Nothing


else

stropdaterSQL = "INSERT INTO uge (ugenr, spiller)"&_
" VALUES ('" & strUgenr & "','" & strNavn & "')"
           
Conn.Execute(stropdaterSQL)
Conn.Close
Set Conn = Nothing
       
End If
%>
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:11 #6
Hvorfor er det lige den her fejl kommer - der er da ikke noget galt


Microsoft VBScript compilation error '800a0408'

Invalid character

/login/nyuge.asp, line 40

" VALUES ('" & strUgenr & "','" & strNavn & "')"   
------------------------------------------------^
Avatar billede pato Nybegynder
14. juni 2002 - 01:18 #7
feltet ugenr  er det tekst og må der være NULLS ?
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:18 #8
Nu ser det sådan her ud

<%

If Request.Form("ugenr")<> "" Then

    strUgenr = Request.Form("ugenr")
    strNavn = Request.Form("navn")

    strcheckSQL = "SELECT count(ugenr) as isthere FROM uge where ugenr='" & strUgenr &"'"
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("XXXXXXXXX"))

    Set rs = Conn.execute(strcheckSQL)

        If rs("isthere")>0 then
        response.write("Ugen er allerede oprettet!!!")

    Conn.Close
    Set Conn = Nothing

        else

        stropdaterSQL = "INSERT INTO uge (ugenr, spiller)"&_
        " VALUES ('" & strUgenr & "','" & strNavn & "')"

    Conn.Execute(stropdaterSQL)
    Conn.Close
    Set Conn = Nothing
   
    End If
       
%>

hvilket giver følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/login/nyuge.asp, line 30
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:19 #9
feltet ugenr er et tal-felt
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:21 #10
linie 30 er:

Set rs = Conn.Execute(strcheckSWL)
Avatar billede pato Nybegynder
14. juni 2002 - 01:23 #11
ja der skal ikke ' rundt om strUgenr  når det er tal

strcheckSQL = "SELECT count(ugenr) as isthere FROM uge where ugenr=" & strUgenr

stropdaterSQL = "INSERT INTO uge (ugenr, spiller)"&_
        " VALUES (" & strUgenr & ",'" & strNavn & "')"
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:26 #12
Så kommer den her

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/login/nyuge.asp, line 26

strcheckSQL = "SELECT count(ugenr) as isthere FROM uge where ugenr=" & strUgenr &"
----------------------------------------------------------------------------------^
Avatar billede pato Nybegynder
14. juni 2002 - 01:27 #13
ja &" skal ikke med til sidst
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:28 #14
Nej nu virker det..... der skulle bare lige sættes nogle ""....

Jeg takker for hjælpen....
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:29 #15
hvorfor skal de i grunden ikke det
Avatar billede kovalt Nybegynder
14. juni 2002 - 01:29 #16
kunne man ikke skrive & "" til sidst
Avatar billede pato Nybegynder
14. juni 2002 - 01:33 #17
fordi din sql skal være

SELECT count(ugenr) as isthere FROM uge where ugenr = 5202

og ikke

SELECT count(ugenr) as isthere FROM uge where ugenr = '5202'
Avatar billede pato Nybegynder
14. juni 2002 - 01:34 #18
men du kan godt skrive det du lægge bare ingenting til :-)
Avatar billede pato Nybegynder
18. juni 2002 - 20:35 #19
Takker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester