Just nu i M3-nätverket
Gå till innehåll

Vad är fel?


Chrippe_sbg

Rekommendera Poster

Chrippe_sbg

Har någon lust att hjälpa mig att hitta felet på detta script?

Jag får HTTP 500 - Internt serverfel

 

 

[color="#0000ff"]Set[/color] Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
MdbFilePath = [b]Server[/b].MapPath([GRÅ]"../db/db.mdb"[/GRÅ])
Conn.Open [GRÅ]"Driver={Microsoft Access Driver (*.mdb)}; DBQ="[/GRÅ] & MdbFilePath & [GRÅ]";"[/GRÅ]
SQL_query = [GRÅ]"SELECT * FROM picStats"[/GRÅ]
[color="#0000ff"]Set[/color] RS2 = Conn.[color="#0000ff"]Execute[/color](SQL_query)


NewName = [color="#0000ff"]Split[/color](PicName,[GRÅ]"."[/GRÅ])
[color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RS2.EOF

[color="#0000ff"]If[/color] NewName(0) = RS2([GRÅ]"pictureName"[/GRÅ]) [color="#0000ff"]Then[/color]
	nClick = RS2([GRÅ]"click"[/GRÅ])
	nClick = nClick + 1
	SQL=[GRÅ]"Insert Into picStats"[/GRÅ]
	SQL = SQL & [GRÅ]" (pictureName, click)"[/GRÅ] 
	SQL = SQL & [GRÅ]" Values('"[/GRÅ]&NewName(0) &[GRÅ]"','"[/GRÅ]& nClick &[GRÅ]"')"[/GRÅ]
	RS2.[color="#0000ff"]Execute[/color](SQL)


[color="#0000ff"]Else[/color]
	SQL=[GRÅ]"Insert Into picStats"[/GRÅ]
	SQL = SQL & [GRÅ]" (pictureName, click)"[/GRÅ] 
	SQL = SQL & [GRÅ]" Values('"[/GRÅ]&NewName(0) &[GRÅ]"','1')"[/GRÅ]
	RS2.[color="#0000ff"]Execute[/color](SQL)
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
RS2.MoveNext
[color="#0000ff"]Loop[/color]


RS2.Close
[color="#0000ff"]Set[/color] RS2 = [color="#0000ff"]Nothing[/color]

 

 

[inlägget ändrat 2005-07-26 21:06:51 av Chrippe_sbg]

Länk till kommentar
Dela på andra webbplatser

Gå in på Verktyg/Internet alltenativ. Välj där avancerat. Boka av HTTP snälls.

 

Ladda om sidan nu kommer du att få felmedelande på raden där felet är.

 

t.ex rad 2 följt av koden.

prova att felsöka där.

 

det som du har på rad 2 har jag inte kört utan kör

con.open koden....

 

och inte

 

Variabel "Sökväg till databasen."

con.lopen koden + variabel.

Så kan inte hjälpa dig men kanske är det som är fel.

 

Länk till kommentar
Dela på andra webbplatser

1. Är kolumnen click text eller tal?

Jag skulle ha haft den som tal eftersom det dåär så mycket lättare att räkna :)

2. Känns väldigt onödigt att loopa igenom ett recordset om det bara är en rad som skall kollas/påverkas. Bättre då att välja ut mha villkor direkt i SQL-satsen. På samma sätt är det "dumt" att läsa ut fler kolumner än nödvändigt. Dvs * används bäst när man verkligen vill ha ut alla kolumner.

 

Exempel:

 

Om det är tal[log]

arrNewName = [color="#0000ff"]Split[/color](PicName,[GRÅ]"."[/GRÅ])
strNewName = NewName(0)

[color="#0000ff"]Set[/color] conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
connStr = [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="[/GRÅ]&MdbFilePath 
conn.open connStr

strSQL=[GRÅ]"SELECT pictureName FROM picStats WHERE pictureName='"[/GRÅ]& strNewName &[GRÅ]"'"[/GRÅ]

[color="#0000ff"]Set[/color] RS = Conn.[color="#0000ff"]Execute[/color](strSQL)
[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] RS.EOF [color="#0000ff"]Then[/color]
   strSQL=[GRÅ]"UPADATE picStats SET click=click+1 WHERE pictureName='"[/GRÅ]& strNewName &[GRÅ]"'"[/GRÅ]
[color="#0000ff"]Else[/color]
   strSQL=[GRÅ]"INSERT INTO picStats (pictureName, click) Values('"[/GRÅ]& strNewName &[GRÅ]"',1)"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]Set[/color] RS=[color="#0000ff"]Nothing[/color]

conn.[color="#0000ff"]Execute[/color](strSQL)

conn.close
[color="#0000ff"]Set[/color] conn=[color="#0000ff"]Nothing[/color]

[/log]

 

Om det (mot förmodan) skulle vara text[log]

arrNewName = [color="#0000ff"]Split[/color](PicName,[GRÅ]"."[/GRÅ])
strNewName = NewName(0)

[color="#0000ff"]Set[/color] conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
connStr = [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="[/GRÅ]&MdbFilePath 
conn.open connStr

strSQL=[GRÅ]"SELECT pictureName, click FROM picStats WHERE pictureName='"[/GRÅ]& strNewName &[GRÅ]"'"[/GRÅ]

[color="#0000ff"]Set[/color] RS = Conn.[color="#0000ff"]Execute[/color](strSQL)
[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] RS.EOF [color="#0000ff"]Then[/color]
   strClick=[color="#0000ff"]CDbl[/color](RS(1))+1
   strSQL=[GRÅ]"UPADATE picStats SET click='"[/GRÅ]&strClick&[GRÅ]"' WHERE pictureName='"[/GRÅ]& strNewName &[GRÅ]"'"[/GRÅ]
[color="#0000ff"]Else[/color]
   strSQL=[GRÅ]"INSERT INTO picStats (pictureName, click) Values('"[/GRÅ]& strNewName &[GRÅ]"','1')"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]Set[/color] RS=[color="#0000ff"]Nothing[/color]

conn.[color="#0000ff"]Execute[/color](strSQL)

conn.close
[color="#0000ff"]Set[/color] conn=[color="#0000ff"]Nothing[/color]

[/log]Fast då rekomnderar jag att du gör om det i databasen och kör enl. mitt första exempel

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2005-07-27 07:40:54 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Chrippe_sbg

Det verkar ju vara logiskt det du säger!!

Tack så jätte mycket för hjälpen´!

 

Men nu får jag

 

Type mismatch: 'NewName'

 

på raden:

strNewName = NewName(0)

 

Länk till kommentar
Dela på andra webbplatser

slarvgt av mig... Skall vara:

arrNewName = [color="#0000ff"]Split[/color](PicName,[GRÅ]"."[/GRÅ])
strNewName = arrNewName(0)

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2005-07-27 09:54:33 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...