Avatar billede monstermand Nybegynder
09. marts 2003 - 11:19 Der er 15 kommentarer og
1 løsning

Hvorfor indsætter den ikke?

hvad gør jeg galt?

strFirmanavn = Request.Form("firmanavn")
strFirmalink = Request.Form("firmalink")
strLinkudseende = Request.Form("linkudseende")
strNavn = Request.Form("navn")
strArbejde = Request.Form("arbejde")
opretdato = NOW   

insertSQL= ""
If strFirmanavn = "" OR  strArbejde = "" OR strNavn = "" Then
    Response.Redirect("../administration.asp?ID=referencer&stat=blank")

insertSQL = insertSQL & "Firmanavn= '" & Request.Form("firmanavn") & "'"
insertSQL = insertSQL & ", "
insertSQL = insertSQL & "Arbejde= '" & Request.Form("arbejde") & "'"
insertSQL = insertSQL & ", "
insertSQL = insertSQL & "Navn= '" & Request.Form("navn") & "'"

If strFirmalink <> "" Then
  if insertSQL <> "" then 'Indsæt komma efter
    insertSQL = insertSQL & ", "
  end if
  insertSQL = insertSQL & "Firmalink= '" & Request.Form("firmalink") & "'"
end if

If strLinkudseende <> "" Then
  if insertSQL <> "" then 'Indsæt komma efter
    insertSQL = insertSQL & ", "
  end if
  insertSQL = insertSQL & "Linkudseende= '" & Request.Form("linkudseende") & "'"
end if

if (insertSQL <> "") then
  strSQL = "insert into tblReferencer " & insertSQL
  conn.execute(strSQL)
end if   

end if
    Response.Redirect("../administration.asp?ID=referencer&stat=succes")
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:21 #1
Hvad får du af fejl?
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:24 #2
Jeg tror at du har glemt en ELSE. Prøv det her

strFirmanavn = Request.Form("firmanavn")
strFirmalink = Request.Form("firmalink")
strLinkudseende = Request.Form("linkudseende")
strNavn = Request.Form("navn")
strArbejde = Request.Form("arbejde")
opretdato = NOW   

insertSQL= ""
If strFirmanavn = "" OR  strArbejde = "" OR strNavn = "" Then
    Response.Redirect("../administration.asp?ID=referencer&stat=blank")
Else  '<-- Måske er det fordi denne linje ikke er der

insertSQL = insertSQL & "Firmanavn= '" & Request.Form("firmanavn") & "'"
insertSQL = insertSQL & ", "
insertSQL = insertSQL & "Arbejde= '" & Request.Form("arbejde") & "'"
insertSQL = insertSQL & ", "
insertSQL = insertSQL & "Navn= '" & Request.Form("navn") & "'"

If strFirmalink <> "" Then
  if insertSQL <> "" then 'Indsæt komma efter
    insertSQL = insertSQL & ", "
  end if
  insertSQL = insertSQL & "Firmalink= '" & Request.Form("firmalink") & "'"
end if

If strLinkudseende <> "" Then
  if insertSQL <> "" then 'Indsæt komma efter
    insertSQL = insertSQL & ", "
  end if
  insertSQL = insertSQL & "Linkudseende= '" & Request.Form("linkudseende") & "'"
end if

if (insertSQL <> "") then
  strSQL = "insert into tblReferencer " & insertSQL
  conn.execute(strSQL)
end if   

end if
    Response.Redirect("../administration.asp?ID=referencer&stat=succes")
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:24 #3
ingen fejl, den retunerer til siden administration.asp?ID=referencer&stat=succes, men den har ikke skrevet noget i databasen. Grunden til at jeg laver den på ovenstående måde er selvfølgelig at jeg ikke ønsker at man SKAL skrive noget i strFirmalink og strLinkudseende ...
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:26 #4
OK. Så tror jeg, fejlen er at du mangler en ELSE i din IF-sætning.
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:28 #5
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

kan man ikke lave ovenstående med en insert som jeg har gjort? jeg har godt nok lavet den om fra en update..

(da havde ret - jeg havde glemt en else - derfor gik den ikke ind i scriptet)
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:29 #6
mangler vist set ... prøver lige
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:30 #7
Prøv at lave denne her kode 

if (insertSQL <> "") then
  strSQL = "insert into tblReferencer " & insertSQL
  conn.execute(strSQL)
end if   

om til

if (insertSQL <> "") then
  strSQL = "insert into tblReferencer " & insertSQL
  Response.Write strSQL
  'conn.execute(strSQL)
end if
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:33 #8
ser meget fornugtigt ud:

insert into tblReferencer set Firmanavn= 'æløøælk', Arbejde= 'øælkøkl', Navn= 'øælkølæk', Opdateringsdato= '09-03-2003 11:28:22', Firmalink= 'øælkølæ', Linkudseende= 'æølkølk'
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:35 #9
INSERT-statement skal se sådan ud:

  Insert into tabelnavn (kolonne1, kolonne2, ...) values(værdi1, værdi2, ...)

http://www.w3schools.com/sql/sql_insert.asp
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:37 #10
ja, men det plejer jeg også - men i og med at det ikke absolut er alle forms der er data i, kan jeg ikke bruge den. Der må jo ikke indsættes null værdier
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:41 #11
Ja ja, men din syntaks er ikke korrekt. En INSERT-sætning skal se sådan ud

  Insert into tabelnavn (kolonne1, kolonne2, ...) values(værdi1, værdi2, ...)
Avatar billede monstermand Nybegynder
09. marts 2003 - 11:51 #12
strFirmanavn = Request.Form("firmanavn")
strFirmalink = Request.Form("firmalink")
strLinkudseende = Request.Form("linkudseende")
strNavn = Request.Form("navn")
strArbejde = Request.Form("arbejde")
opretdato = NOW   

insertSQL= ""
If strFirmanavn = ""  OR strNavn = "" OR  strArbejde = "" Then
    Response.Redirect("../administration.asp?ID=referencer&stat=blank")
Else
    If Request.Form("firmalink") = "" then
        strFirmalink = " "
    End if
    If Request.Form("linkudseende") = "" then
        strLinkudseende = " "
    End if

    strSQL = "Insert into tblReferencer (Opdateringsdato, Firmanavn, Firmalink, Linkudseende, Arbejde, Navn) values('" & opretdato & "' , '" & Replace(strFirmanavn, "'","''") & "' , '" & Replace(strFirmalink, "'","''") & "' , '" & Replace(strLinkudseende, "'","''") & "' , '" & Replace(strArbejde, "'","''") & "' , '" & Replace(strNavn, "'","''") & "')"
    Conn.Execute(strSQL)                                           
End if

    Response.Redirect("../administration.asp?ID=hyppige&stat=succes")


så virker den - jeg troede man godt kunne bruge "set" ved insert ligesom man kan ved update - men nej :(
Avatar billede somaliomar Praktikant
09. marts 2003 - 11:55 #13
Det kan man ikke. Hvis der skal indsættes en ny post, skal du bruge INSERT men når du skal opdatere en post bruger du UPDATE :)
Avatar billede monstermand Nybegynder
10. marts 2003 - 07:58 #14
jeg har jo også brugt insert hele vejen igennem.

Men som sagt, jeg troede man kunne bruge "insert set" ligesom man også kan ved update - men det kunne man ikke.
Avatar billede somaliomar Praktikant
11. marts 2003 - 07:44 #15
Noget andet du mangler? Ellers må du gerne lukke spørgsmållet :)
Avatar billede monstermand Nybegynder
12. marts 2003 - 17:07 #16
selvtak.
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