Just nu i M3-nätverket
Jump to content

koppling-trubbel


lakris-loppan

Recommended Posts

lakris-loppan

jag har byygt mig en liten test databas efter de beskrivningar som finns pa web-skolan här pa idg. Nu när jag lägger upp den pa servern sa far jag felmeddelande och jag förstar att det är kopplingen som är helt heikon. Vad jag dessvärre inte förstar är hur jag skall fa ordning pa den....sa här ser den ut...:

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=data\adressbok.mdb"

 

jag har en undermap som heter data där acessfilerna ligger...hur skall jag skriva kopplingen korrekt?

 

 

Link to comment
Share on other sites

Morsning!

Du får använda dig av någonting som heter server.mappath enligt:

 

connect.open "driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.Mappath("data/adressbok.mdb")

 

Server.mappath fungerar precis som en vanlig relativ länk, dvs den utgår från just där man befinner sig.

 

Hoppas att detta hjälper.

/donRollo

 

Link to comment
Share on other sites

lakris-loppan

hmmm...det ville inte funka det heller :-(

det felmeddelande jag far är att det kan saknas nagon operator... fragan är bara vilken och var....? Kan det vara nagot annat jag gjort fel i koden som ställer till det?

 

Här är en del av de förslag pa fel, som kommer upp:

Operator or semicolon missing before &Server

Ambiguous use of & resolved as operator &

Bareword found where operator expected

Missing operator before Set?

 

..och här är kod-skrället:

 

<html>
<head>
</head>

<body>

<FORM METHOD=[GRÅ]"POST"[/GRÅ] ACTION=[GRÅ]"add.asp"[/GRÅ]>

Namn<BR>
<INPUT TYPE=[GRÅ]"TEXT"[/GRÅ] SIZE=[GRÅ]"30"[/GRÅ] NAME=[GRÅ]"namn"[/GRÅ]><P>

Adress<BR>
<INPUT TYPE=[GRÅ]"TEXT"[/GRÅ] SIZE=[GRÅ]"30"[/GRÅ] NAME =[GRÅ]"adress"[/GRÅ]><P>

E-mail<BR>
<INPUT TYPE=[GRÅ]"TEXT"[/GRÅ] SIZE=[GRÅ]"30"[/GRÅ] NAME =[GRÅ]"email"[/GRÅ]><P>


<INPUT TYPE=[GRÅ]"submit"[/GRÅ] VALUE=[GRÅ]"Lägg till post"[/GRÅ]>

</FORM> 


<b>Ta en titt i min adressbok! </b>
<hr noshade size=[GRÅ]"1"[/GRÅ]>

Sortera efter:

<ul>
<li><a href=[GRÅ]"visa.asp?ordning=namn"[/GRÅ]>namn</a>
<li><a href=[GRÅ]"visa.asp?ordning=adress"[/GRÅ]>adress</a>
<li><a href=[GRÅ]"visa.asp?ordning=email"[/GRÅ]>email</a>
<p>
<li><a href=[GRÅ]"visa.asp?ordning=Annasson"[/GRÅ]>Enbart personer med efternamnet Annasson</a>

</ul> 

<b>Redigera adressboken! </b>
<hr noshade size=[GRÅ]"1"[/GRÅ]>

[MÄRK]<%[/MÄRK] [color="#0000ff"]Set[/color] Connect = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
connect.open[GRÅ]"driver={Microsoft Access Driver(*.mdb)};dbq="[/GRÅ]&[b]Server[/b].Mappath([GRÅ]"data/adressbok.mdb"[/GRÅ])

[color="#0000ff"]Set[/color] RecSet=[b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])
Visa=[GRÅ]"SELECT * FROM adressbok ORDER BY namn"[/GRÅ]
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic [MÄRK]%>[/MÄRK]

Följande adresser finns att redigera i adresseboken. <p>

<ul>

[MÄRK]<%[/MÄRK] [color="#0000ff"]Do[/color] Until RecSet.EOF [MÄRK]%>[/MÄRK]
<li>[MÄRK]<%[/MÄRK] =RecSet([GRÅ]"namn"[/GRÅ]) [MÄRK]%>[/MÄRK]& nbsp;
<b>[MÄRK]<%[/MÄRK] =RecSet([GRÅ]"adress"[/GRÅ]) [MÄRK]%>[/MÄRK]</b>
<br>[MÄRK]<%[/MÄRK] =RecSet([GRÅ]"adress"[/GRÅ]) [MÄRK]%>[/MÄRK]<br>

<a href=[GRÅ]"redigera1.asp?adressID=<% =RecSet("[/GRÅ]ID[GRÅ]") %>"[/GRÅ]>
Redigera denna adress</a>
<hr noshade size=[GRÅ]"1"[/GRÅ] width=[GRÅ]"250"[/GRÅ] align=[GRÅ]"left"[/GRÅ]>

[MÄRK]<%[/MÄRK] RecSet.MoveNext
[color="#0000ff"]Loop[/color]
RecSet.Close [MÄRK]%>[/MÄRK] 

 

/l-loppan

 

Link to comment
Share on other sites

Anjuna Moon

Hm, koden ser ok ut. Av felmeddelandena att döma det låter nästan som om webbservern är inställd på att använda JScript istället för VBScript för ASP.

 

Link to comment
Share on other sites

lakris-loppan

uhhh...det är ju ett lite jobbigare läge helt plötsligt. Skall undersöka det, men jag tror inte att det är sa. I varjefall skönt att veta att koden är ok. Da fortsätter fel-sökningen pa annat hall!

Tack för hjälpen!

/l-l

 

Link to comment
Share on other sites

Morsning!

Fixade lite med din kod.

Tänk på att så länge du inte ska göra paginering på sidan så behöver du heller inte skapa ett recordset. Ändrade därför detta. Som god programmeringssed placerar man också alltid alla poster ur databasen i variabler innan dessa skrivs ut. Jaja, här är koden:

 

<html>

<head>

</head>

<body>

<FORM METHOD="POST" ACTION="add.asp">

Namn<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME="namn"><P>

Adress<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME ="adress"><P>

E-mail<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME ="email"><P>

<INPUT TYPE="submit" VALUE="Lägg till post">

</FORM>

<b>Ta en titt i min adressbok! </b>

<hr noshade size="1">

Sortera efter:

<ul>

<li><a href="visa.asp?ordning=namn">namn</a>

<li><a href="visa.asp?ordning=adress">adress</a>

<li><a href="visa.asp?ordning=email">email</a>

<p>

<li><a href="visa.asp?ordning=Annasson">Enbart personer med efternamnet Annasson</a>

</ul>

<b>Redigera adressboken! </b>

<hr noshade size="1">

<% dim connect

set connect = Server.CreateObject ("ADODB.Connection")

connect.open "driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.Mappath("data/adressbok.mdb")

Visa = "SELECT * FROM adressbok ORDER BY namn"

set RecSet = connect.execute(Visa)

%>

Följande adresser finns att redigera i adresseboken. <p>

<ul>

<% dim strNamn, strAdress

Do Until RecSet.EOF

strNamn = RecSet("namn")

strAdress = RecSet("adress")

%>

<li><%=strNamn%>& nbsp;

<b><%=strAdress%></b>

<br><%=strAdress%><br>

<a href="redigera1.asp?adressID=<% =RecSet("ID") %>">

Redigera denna adress</a>

<hr noshade size="1" width="250" align="left">

<% RecSet.MoveNext

Loop

RecSet.Close

%>

 

*********

 

Men vill du hellre göra som du gjorde innan så kan du bara använda ett av alternativen adOpenStatic eller adLockOptimistic. Ta bort det ena så fungerar koden enligt:

 

<html>

<head>

</head>

<body>

<FORM METHOD="POST" ACTION="add.asp">

Namn<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME="namn"><P>

Adress<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME ="adress"><P>

E-mail<BR>

<INPUT TYPE="TEXT" SIZE="30" NAME ="email"><P>

<INPUT TYPE="submit" VALUE="Lägg till post">

</FORM>

<b>Ta en titt i min adressbok! </b>

<hr noshade size="1">

Sortera efter:

<ul>

<li><a href="visa.asp?ordning=namn">namn</a>

<li><a href="visa.asp?ordning=adress">adress</a>

<li><a href="visa.asp?ordning=email">email</a>

<p>

<li><a href="visa.asp?ordning=Annasson">Enbart personer med efternamnet Annasson</a>

</ul>

<b>Redigera adressboken! </b>

<hr noshade size="1">

<% Set Connect = Server.CreateObject("ADODB.Connection")

connect.open "driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.Mappath("data/adressbok.mdb")

 

Set RecSet=Server.CreateObject("ADODB.Recordset")

Visa="SELECT * FROM adressbok ORDER BY namn"

RecSet.Open Visa, Connect, adLockOptimistic

%>

Följande adresser finns att redigera i adresseboken. <p>

<ul>

<% Do Until RecSet.EOF %>

<li><% =RecSet("namn") %>& nbsp;

<b><% =RecSet("adress") %></b>

<br><% =RecSet("adress") %><br>

<a href="redigera1.asp?adressID=<% =RecSet("ID") %>">

Redigera denna adress</a>

<hr noshade size="1" width="250" align="left">

<% RecSet.MoveNext

Loop

RecSet.Close %>

 

Hoppas att du får ordning på det hela

/donRollo

 

Link to comment
Share on other sites

lakris-loppan

Ok, nu har jag rekat pa servern och den stödjer bara skript skrivna i Perl...alltsa inga VBscript. Hur skulle jag kunna ändra koden sa att servern blir glad?

/l-l

 

Link to comment
Share on other sites

Ok, nu har jag rekat pa servern och den stödjer bara skript skrivna i Perl...alltsa inga VBscript. Hur skulle jag kunna ändra koden sa att servern blir glad?

 

Tja, det låter ju som att du får byta språk och lära dig Perl eller byta webbserver till en som stödjer ASP/VBscript :)

 

EDIT: Ibland är det bra att läsa hela tråden innan man svarar. :)

 

.dune.

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

- "I find this a nice feature but it is not according to the documentation.

Or is it a BUG?"

- "Let´s call it an accidental feature. :-)"

 

[inlägget ändrat 2005-03-27 14:55:08 av dune]

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...