Avatar billede teknikeren Nybegynder
02. juni 2002 - 17:52 Der er 29 kommentarer og
1 løsning

Objekt

Det er om brugersystemet IGEN...
Den skriver:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: ''

/hp/brugerlevelae.asp, linje 6

<%
dim cn, strcn
cn = Server.CreateObject("ADODB.Connection")
cnstr = "Provider = Microsoft.Jet.OLEDB.4.0;"
cnstr = cnstr & "DATA SOURCE = /WINDOWS/Skrivebord/hp/brugere.mdb"
cn.ConnectionString = strcn
cn.Open
Dim sql
sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = " & Request.Form("bruger") & ""
cn.Execute(SQL)
Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>
Hvorfor gør den det?
Avatar billede teknikeren Nybegynder
02. juni 2002 - 17:53 #1
UPZ
<%
dim cn, strcn
cn = Server.CreateObject("ADODB.Connection")
cnstr = "Provider = Microsoft.Jet.OLEDB.4.0;"
cnstr = cnstr & "DATA SOURCE = /WINDOWS/Skrivebord/hp/brugere.mdb"
cn.ConnectionString = strcn
cn.Open
Dim sql
sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = " & Request.Form("bruger") & ""
cn.Execute(SQL)
Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>
Er selvfølgelig min kode...
Avatar billede tjacob Juniormester
02. juni 2002 - 17:59 #2
Hvis du har klippet direkte er der en forveksling mellem

cnstr og strcn

cn.ConnectionString = strcn <-har du erklæret
hvad er det?->cnstr = cnstr & "DATA SOURCE = /WINDOWS/Skrivebord/hp/brugere.mdb"
Avatar billede teknikeren Nybegynder
02. juni 2002 - 18:05 #3
UPZ... Men det virker stadig ik'  den skriver stadig det samme
Avatar billede tjacob Juniormester
02. juni 2002 - 18:29 #4
Du har rettet alle 3 steder der stod cnstr?
Avatar billede teknikeren Nybegynder
02. juni 2002 - 18:34 #5
Yepper
Avatar billede tjacob Juniormester
02. juni 2002 - 18:38 #6
Jeg synes også din datasource ser lidt underlig ud. Kører du med IIS?
og hvis så, ligger din DB her :  "C://inetpub/wwwroot/WINDOWS/Skrivebord/hp/brugere.mdb"
Avatar billede teknikeren Nybegynder
02. juni 2002 - 18:39 #7
Nej med PWS...
Avatar billede tjacob Juniormester
02. juni 2002 - 18:52 #8
Jeg tror reglerne er de samme.

Din datasource angives relativt fra serveren;
i IIS er serverens root (hvis den er installeret på C -mest normalt):

C://inetpub/wwwroot/  DVS at hvis jeg har en mappe med en DB:
C://inetpub/wwwroot/minmappe/mindb.mdb så er datasource til denne:

/minmappe/mindb.mdb

Hvis din adresse skal være korrekt, skal serverens rod være lig C-roden
(hvis du har windows på c). Hvad jeg tvivler på. Prøv at åbne din server i kontrolpanelet, og se om du kan se din DB-mappe der.
Avatar billede teknikeren Nybegynder
02. juni 2002 - 19:00 #9
I de andre sider jeg har lavet står der strcn = strcn & "DATA SOURCE = /WINDOWS/Skrivebord/hp/brugere.mdb" og det virker fint nok!
Avatar billede teknikeren Nybegynder
02. juni 2002 - 19:01 #10
Linie 6 må være denne:

cn.ConnectionString = strcn

Men den kan jeg ikke se nogle fejl i...
Avatar billede tjacob Juniormester
02. juni 2002 - 19:10 #11
.........Nææ......men det tyder jo på at fejlen ligger i strcn

-der må andre eksperter på banen!
Avatar billede medions Nybegynder
02. juni 2002 - 20:27 #12
Prøv lige med denne:

<%
    dim cn, strcn, sql
    cn = Server.CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
       
        sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = " & Request.Form("bruger")
        cn.Execute(SQL)
    Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>

//>Rune
Avatar billede teknikeren Nybegynder
02. juni 2002 - 20:34 #13
Virker heller ikke...
Kan dette hjælpe lidt?
brugerlevel = tal
brugernavn = tekst
Avatar billede fet321 Nybegynder
02. juni 2002 - 20:50 #14
teknikeren >> prøv lige at smide din kode, som den ser ud nu.
Avatar billede teknikeren Nybegynder
02. juni 2002 - 20:53 #15
<%
    dim cn, strcn, sql
    cn = Server.CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
       
        sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = " & Request.Form("bruger")
        cn.Execute(SQL)
    Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>

Den kommer med fejlen:
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: ''

/hp/brugerlevelae.asp, linje 4
Avatar billede medions Nybegynder
02. juni 2002 - 20:59 #16
<%
    dim cn, strcn, sql
    cn = Server.CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
       
        sql = "UPDATE brugere SET brugerlevel=" & Request.Form("level") & " WHERE brugernavn = '" & Request.Form("bruger") & "'"
        cn.Execute(SQL)
    Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>

//>Rune
Avatar billede medions Nybegynder
02. juni 2002 - 21:01 #17
Der skal ikke ' rundt om tal kolonner det er kun når det er tekst...

//>Rune
Avatar billede fet321 Nybegynder
02. juni 2002 - 21:02 #18
<%
  dim cn, strcn, sql
  cn = Server.CreateObject("ADODB.Connection")
  cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
  sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = '" & Request.Form("bruger") & "';"
  cn.Execute(SQL)
  Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>

Hvad siger den med dette kode
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:02 #19
Skriver stadig:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: ''

/hp/brugerlevelae.asp, linje 4
Avatar billede fet321 Nybegynder
02. juni 2002 - 21:02 #20
lidt for langsom.
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:03 #21
Hvad mener du med det?...
Avatar billede fet321 Nybegynder
02. juni 2002 - 21:05 #22
At det allerede var svaret det samme som jeg svarede.

Lige meget ingen af dem var rigtige.
Du skal bruge dette

<%
  dim cn, sql
  Set cn = Server.CreateObject("ADODB.Connection")
  cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
  sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = '" & Request.Form("bruger") & "';"
  cn.Execute(SQL)
  Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:08 #23
Så virker det...
Inden jeg giver dig pointene kan du så fortælle mig helt præcis hvad du har ændret?
Avatar billede medions Nybegynder
02. juni 2002 - 21:10 #24
var det mit der virkede?

//>Rune
Avatar billede fet321 Nybegynder
02. juni 2002 - 21:11 #25
Du manglede et Set i starten af linien
cn = Server.CreateObject("ADODB.Connection")

Og så har jeg lige som medions indsat gnyffer rundt om Request.Form("bruger") i din sql.
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:12 #26
Med dette script:

<%
  dim cn, sql
  Set cn = Server.CreateObject("ADODB.Connection")
  cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
  sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = '" & Request.Form("bruger") & "';"
  cn.Execute(SQL)
  Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Response.Write("level") & "</B>..."
%>

skriver den:
levelDu har ændret Dabbi`s brugerlevel til ...
den skulle gerne skrive
Du har ændret Dabbi`s bruger level til 2...
eller
Du har ændret Dabbi`s bruger level til 1...
Avatar billede medions Nybegynder
02. juni 2002 - 21:12 #27
*LOL* Det havde jeg sq ik' set!!!

//>Rune
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:14 #28
Hvor er fejlen ?
Avatar billede fet321 Nybegynder
02. juni 2002 - 21:14 #29
<%
dim cn, sql
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\WINDOWS\Skrivebord\hp\brugere.mdb;"
sql = "UPDATE brugere SET brugerlevel='" & Request.Form("level") & "' WHERE brugernavn = '" & Request.Form("bruger") & "';"
cn.Execute(SQL)
Response.Write "Du har ændret <B>" & Request.Form("Bruger") & "'s </B> brugerlevel til <B>" & Request.Form("level") & "</B>..."
%>

...jeg har ændret Response.Write("level") til Request.Form("level")
Avatar billede teknikeren Nybegynder
02. juni 2002 - 21:15 #30
medions>> Nej det var ikke dit der virkede det var fet321`s...
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