Just nu i M3-nätverket
Jump to content

Vad är det för fel?


Kasper Sjö

Recommended Posts

Hej!

Jag sysslar med hemsidor och har börjat för ett tag sedan med databaser (Access) i (skript)språket ASP.

Jag har en server som kör med operativsystemet

Microsoft Windows 2000 Server.

 

Jag har fassnat på en funktion...

Det är ett formulär som ska lägga till (nya) uppgifter i databasen som inte funkar. När jag klickar på "Sänd" eller vad ni nu vill kallar det, så får jag upp en 404-sida (en felsida) som säger blandannat följande:

 

Error Type:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[Microsoft][Drivrutin för ODBC Microsoft Access] Operationen måste använda en fråga som kan uppdateras.

/nyperson.asp, line 115

 

Vad är det som är felet? Måste en SQL fråga eller något i den stilen användas för att detta ska fungera?

 

 

Med Vänliga Hälsningar

Kasper Sjö

 

 

[inlägget ändrat 2006-01-26 19:33:41 av Kasper Sjö]

Link to comment
Share on other sites

Du har inte rättighet att skriva till databasen, ändra så att internetgästkontot har skrivrättigheter till mappen databasen ligger i och ev. ta bort skrivskydd på databasen.

/D

 

Link to comment
Share on other sites

Tack för ditt svar mycket bra tänkt men det löste tyvärr inte problemet eller så är det mig det är fel på (tror inte det :D).

 

 

Med Vänliga Hälsningar

Kasper Sjö

 

Link to comment
Share on other sites

Satsen/koden som är i "nyperson.asp" ser ut så här:

 

<!--#include file=[GRÅ]"Connections/cnAdresser.asp"[/GRÅ] -->
[MÄRK]<%[/MÄRK]
[color="#006400"]' *** Edit Operations: declare variables[/color]

[color="#0000ff"]Dim[/color] MM_editAction
[color="#0000ff"]Dim[/color] MM_abortEdit
[color="#0000ff"]Dim[/color] MM_editQuery
[color="#0000ff"]Dim[/color] MM_editCmd

[color="#0000ff"]Dim[/color] MM_editConnection
[color="#0000ff"]Dim[/color] MM_editTable
[color="#0000ff"]Dim[/color] MM_editRedirectUrl
[color="#0000ff"]Dim[/color] MM_editColumn
[color="#0000ff"]Dim[/color] MM_recordId

[color="#0000ff"]Dim[/color] MM_fieldsStr
[color="#0000ff"]Dim[/color] MM_columnsStr
[color="#0000ff"]Dim[/color] MM_fields
[color="#0000ff"]Dim[/color] MM_columns
[color="#0000ff"]Dim[/color] MM_typeArray
[color="#0000ff"]Dim[/color] MM_formVal
[color="#0000ff"]Dim[/color] MM_delim
[color="#0000ff"]Dim[/color] MM_altVal
[color="#0000ff"]Dim[/color] MM_emptyVal
[color="#0000ff"]Dim[/color] MM_i

MM_editAction = [color="#0000ff"]CStr[/color]([b]Request[/b].ServerVariables([GRÅ]"SCRIPT_NAME"[/GRÅ]))
[color="#0000ff"]If[/color] ([b]Request[/b].QueryString <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
  MM_editAction = MM_editAction & [GRÅ]"?"[/GRÅ] & [b]Request[/b].QueryString
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#006400"]' boolean to abort record edit[/color]
MM_abortEdit = [color="#0000ff"]False[/color]

[color="#006400"]' query string to execute[/color]
MM_editQuery = [GRÅ]""[/GRÅ]
[MÄRK]%>[/MÄRK]
[MÄRK]<%[/MÄRK]
[color="#006400"]' *** Insert Record: set variables[/color]

[color="#0000ff"]If[/color] ([color="#0000ff"]CStr[/color]([b]Request[/b]([GRÅ]"MM_insert"[/GRÅ])) = [GRÅ]"form1"[/GRÅ]) [color="#0000ff"]Then[/color]

  MM_editConnection = MM_cnAdresser_[color="#0000ff"]String[/color]
  MM_editTable = [GRÅ]"Adresser"[/GRÅ]
  MM_editRedirectUrl = [GRÅ]"Personer.asp"[/GRÅ]
  MM_fieldsStr  = [GRÅ]"textfield|value|textfield2|value|textfield3|value|textfield4|value|textfield5|value"[/GRÅ]
  MM_columnsStr = [GRÅ]"Fnamn|',none,''|Enamn|',none,''|Adress|',none,''|Postnr|none,none,NULL|Ort|',none,''"[/GRÅ]

  [color="#006400"]' create the MM_fields and MM_columns arrays[/color]
  MM_fields = [color="#0000ff"]Split[/color](MM_fieldsStr, [GRÅ]"|"[/GRÅ])
  MM_columns = [color="#0000ff"]Split[/color](MM_columnsStr, [GRÅ]"|"[/GRÅ])

  [color="#006400"]' set the form values[/color]
  [color="#0000ff"]For[/color] MM_i = [color="#0000ff"]LBound[/color](MM_fields) [color="#0000ff"]To[/color] [color="#0000ff"]UBound[/color](MM_fields) Step 2
    MM_fields(MM_i+1) = [color="#0000ff"]CStr[/color]([b]Request[/b].Form(MM_fields(MM_i)))
  [color="#0000ff"]Next[/color]

  [color="#006400"]' append the query string to the redirect URL[/color]
  [color="#0000ff"]If[/color] (MM_editRedirectUrl <> [GRÅ]""[/GRÅ] [color="#0000ff"]And[/color] [b]Request[/b].QueryString <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
    [color="#0000ff"]If[/color] ([color="#0000ff"]InStr[/color](1, MM_editRedirectUrl, [GRÅ]"?"[/GRÅ], vbTextCompare) = 0 [color="#0000ff"]And[/color] [b]Request[/b].QueryString <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
      MM_editRedirectUrl = MM_editRedirectUrl & [GRÅ]"?"[/GRÅ] & [b]Request[/b].QueryString
    [color="#0000ff"]Else[/color]
      MM_editRedirectUrl = MM_editRedirectUrl & [GRÅ]"&"[/GRÅ] & [b]Request[/b].QueryString
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
  [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]
[MÄRK]<%[/MÄRK]
[color="#006400"]' *** Insert Record: construct a sql insert statement and execute it[/color]

[color="#0000ff"]Dim[/color] MM_tableValues
[color="#0000ff"]Dim[/color] MM_dbValues

[color="#0000ff"]If[/color] ([color="#0000ff"]CStr[/color]([b]Request[/b]([GRÅ]"MM_insert"[/GRÅ])) <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]

  [color="#006400"]' create the sql insert statement[/color]
  MM_tableValues = [GRÅ]""[/GRÅ]
  MM_dbValues = [GRÅ]""[/GRÅ]
  [color="#0000ff"]For[/color] MM_i = [color="#0000ff"]LBound[/color](MM_fields) [color="#0000ff"]To[/color] [color="#0000ff"]UBound[/color](MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = [color="#0000ff"]Split[/color](MM_columns(MM_i+1),[GRÅ]","[/GRÅ])
    MM_delim = MM_typeArray(0)
    [color="#0000ff"]If[/color] (MM_delim = [GRÅ]"none"[/GRÅ]) [color="#0000ff"]Then[/color] MM_delim = [GRÅ]""[/GRÅ]
    MM_altVal = MM_typeArray(1)
    [color="#0000ff"]If[/color] (MM_altVal = [GRÅ]"none"[/GRÅ]) [color="#0000ff"]Then[/color] MM_altVal = [GRÅ]""[/GRÅ]
    MM_emptyVal = MM_typeArray(2)
    [color="#0000ff"]If[/color] (MM_emptyVal = [GRÅ]"none"[/GRÅ]) [color="#0000ff"]Then[/color] MM_emptyVal = [GRÅ]""[/GRÅ]
    [color="#0000ff"]If[/color] (MM_formVal = [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
      MM_formVal = MM_emptyVal
    [color="#0000ff"]Else[/color]
      [color="#0000ff"]If[/color] (MM_altVal <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
        MM_formVal = MM_altVal
      [color="#0000ff"]ElseIf[/color] (MM_delim = [GRÅ]"'"[/GRÅ]) [color="#0000ff"]Then[/color]  [color="#006400"]' escape quotes[/color]
        MM_formVal = [GRÅ]"'"[/GRÅ] & [color="#0000ff"]Replace[/color](MM_formVal,[GRÅ]"'"[/GRÅ],[GRÅ]"''"[/GRÅ]) & [GRÅ]"'"[/GRÅ]
      [color="#0000ff"]Else[/color]
        MM_formVal = MM_delim + MM_formVal + MM_delim
      [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
    [color="#0000ff"]If[/color] (MM_i <> [color="#0000ff"]LBound[/color](MM_fields)) [color="#0000ff"]Then[/color]
      MM_tableValues = MM_tableValues & [GRÅ]","[/GRÅ]
      MM_dbValues = MM_dbValues & [GRÅ]","[/GRÅ]
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  [color="#0000ff"]Next[/color]
  MM_editQuery = [GRÅ]"insert into "[/GRÅ] & MM_editTable & [GRÅ]" ("[/GRÅ] & MM_tableValues & [GRÅ]") values ("[/GRÅ] & MM_dbValues & [GRÅ]")"[/GRÅ]

  [color="#0000ff"]If[/color] ([color="#0000ff"]Not[/color] MM_abortEdit) [color="#0000ff"]Then[/color]
    [color="#006400"]' execute the insert[/color]
    [color="#0000ff"]Set[/color] MM_editCmd = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Command"[/GRÅ])
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.[color="#0000ff"]Execute[/color]
    MM_editCmd.ActiveConnection.Close

    [color="#0000ff"]If[/color] (MM_editRedirectUrl <> [GRÅ]""[/GRÅ]) [color="#0000ff"]Then[/color]
      [b]Response[/b].Redirect(MM_editRedirectUrl)
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
  [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]

och satsen/koden i "Connections" ser ut så här:

 

[MÄRK][MÄRK]<%[/MÄRK][/MÄRK]
[color="#006400"][GRÖN]' FileName=[GRÅ][GRÅ]"Connection_ado_conn_string.htm"[/GRÅ][/GRÅ][/color][/GRÖN]
[color="#006400"][GRÖN]' Type=[GRÅ][GRÅ]"ADO"[/GRÅ][/GRÅ] [/color][/GRÖN]
[color="#006400"][GRÖN]' DesigntimeType=[GRÅ][GRÅ]"ADO"[/GRÅ][/GRÅ][/color][/GRÖN]
[color="#006400"][GRÖN]' HTTP=[GRÅ][GRÅ]"true"[/GRÅ][/GRÅ][/color][/GRÖN]
[color="#006400"][GRÖN]' Catalog=[GRÅ][GRÅ]""[/GRÅ][/GRÅ][/color][/GRÖN]
[color="#006400"][GRÖN]' Schema=[GRÅ][GRÅ]""[/GRÅ][/GRÅ][/color][/GRÖN]
[color="#0000ff"][bLÅ]Dim[/color][/bLÅ] MM_cnAdresser_[color="#0000ff"][bLÅ]String[/color][/bLÅ]
MM_cnAdresser_[color="#0000ff"][bLÅ]String[/color][/bLÅ] = [GRÅ][GRÅ]"Driver={Microsoft Access Driver (*.mdb)};dbq=\\server\server\Personer.mdb;"[/GRÅ][/GRÅ]
[MÄRK][MÄRK]%>[/MÄRK][/MÄRK]

 

/KS

[inlägget ändrat 2006-01-28 12:36:38 av Kasper Sjö]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...