Just nu i M3-nätverket
Jump to content

Vad är fel?


Chrippe_sbg

Recommended Posts

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]

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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)

 

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...