Dim MM_editAction Dim MM_abortEdit Dim MM_editQuery Dim MM_editCmd
Dim MM_editConnection Dim MM_editTable Dim MM_editRedirectUrl Dim MM_editColumn Dim MM_recordId
Dim MM_fieldsStr Dim MM_columnsStr Dim MM_fields Dim MM_columns Dim MM_typeArray Dim MM_formVal Dim MM_delim Dim MM_altVal Dim MM_emptyVal Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Request.QueryString End If
' boolean to abort record edit MM_abortEdit = false
' query string to execute MM_editQuery = "" %> <% ' *** Insert Record: set variables
' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|")
' set the form values For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next
' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If
End If %> <% ' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If End If If (MM_i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If
End If %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du mangler at definere din Querystring. Du skal skrive Request.Querystring("xxx") i stedet for Request.Querystring, hvor xxx er navnet på din querystring.
Jeg tror jeg har isoleret det til det følgende kode.. hvis jeg ekskludere det så køre det fint (undtagen at den så skriver noget til databasen)
-----------------
If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close'
--------------------------
Hvad er der galt her...
Kan det være fordi jeg ikke har skriverettigheder til databasen.. bruger BuyDomains som webhotel..
OK. Prøv at skifte dit plus ud med et &-tegn (Hvis din forbindelse virke andre steder skal du ikke, men ellers prøv), jeg er nemlig ikke sikker på at den kan sætte de to dele sammen.
Nu er jeg ikke helt hjemme i din måde at kalde til databasen, men http 500 er en intern server fejl, oftest som følge af et fejlslået database-kald. Kunne der mangle noget i stil med "MM_editCmd.ActiveConnection.Open"? Den måde jeg kalder til en database på skal man have 'åbnet' forbindelsen først.
jah.. nu er al koden lavet af Dreamweaver.. da jeg ikke selv er en stor haj til ASP.. men jeg har selv tænkt på det at åbne database først.. men hvordan skal jeg tilføje det til ovenstående kode ??
Problemet opstår ligeså snart ' MM_editCmd.Execute ' er med i koden.. uden den kommer der ingen fejl.. men selvfølgelig bliver der ikke indsat noget i databasen..
OK! Her kommer den grove løsning... Nu laver vi en anden forbindelse og et andet kald, men indholdet er det samme: ---------------------------------------------------------
Jeg har lige prøvet det på tre forskellige webhoteller og det giver samme fejl hver gang alle stederne.. I hvert fald med den kode som var udgangspunktet i spørgsmålet - den som Dreamweaver MX selv har lavet..
Hvis der er en der gider at prøve nedenstående link og se om der kommer en 'HTTP 500 intern serverfejl' når man har indtastet lidt i formen og trykket submit... så vil det være dejligt..
Juhuuuuuuuuuuuuuuuu... har fundet fejlen.. det var fordi der ikke var skriverettigheder på det bibliotek som databasen lå i.. selvom ham supporter fyren fra BuyDomains sagde at der var :-)
men du får lige lidt point for arbejdet.. takker mange gange :-)
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.