Avatar billede jens_k Nybegynder
05. maj 2001 - 22:11 Der er 8 kommentarer og
1 løsning

ASP Kode

Hejsa
Jeg har et asp script såen at jeg kan updatere noget tekst på min hjemmeside gennem et web interface.... Men i DB står det til at være Tekst.. Det vil sige at jeg max kan bruge 255 charcter.. Og det er ikke nok.. Men når jeg laver det om til Notat i DBen.. så virker det ikke længere.. Det er der hvor der står REPLACE det er galt.. ASP koden ser sådan her ud....




<%
  Response.Buffer = True

  \'Variabler hentes og sættes
  mode = Request.QueryString(\"mode\")

%>

<html>
<head>
</head>

<body>

<table width=400 border=0>


<% if mode = \"\" then %>

<tr><td width=400 colspan=2>
<font face=\'Arial\' size=\'2\'>
<b>Ret Dagens tip</b><br>
<font size=\'2\'>
Følgende tip er gemt i databasen, og er bliver pt løbende vist på forsiden. Klik på et tip for at rette overskriften og teksten.<p>
</td></tr>

<%


set conn = server.createobject(\"ADODB.connection\")
StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")
conn.open strDSN
   
\'Søgekriterier defineres
SQL = \"SELECT * FROM startside ORDER BY TekstID DESC\"
set RS = conn.execute( SQL )

If RS.EOF then
  response.write \"<tr><td><font face=\'Arial\' size=\'2\'>Der er ingen Dagens Tip i databasen.</td></tr>\"

Else

  do while not RS.eof

  response.write \"<tr><td width=400 valign=top><font face=\'Arial\' size=\'2\'>\"
    response.write \"- <a href=\'ret_startside.asp?mode=aktuel&id=\" & RS(\"TekstID\") & \"\'><font face=\'Arial\' size=\'2\'>\" & RS(\"Tekst\") & \"</font></a>\"
  response.write \"</td></tr>\"

  rs.movenext
  loop

End if

\'Databasen lukkes
set conn = Nothing
rs.close

%>

<% elseif mode = \"aktuel\" then %>

<%

  \'Variabler hentes og sættes
  TekstID = Request.QueryString(\"id\")

%>

<form method=\"POST\" action=\"ret_startside.asp?mode=ret\">
<%

  \'Database åbnes og gøres klar
  set conn = server.createobject(\"ADODB.connection\")
  strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")
  conn.open strDSN

  \'Søgekriterer sættes
  SQL = \"SELECT * FROM startside Where (tekstID = \'\" & tekstID & \"\')\"
  set RS = conn.execute( SQL )

 
  Tekst = RS(\"Tekst\")

  response.write \"<tr><td width=400 colspan=2>\"
  response.write \"<font face=\'Arial\' size=\'2\'>\"
  response.write \"<b>Ret Dagens Tip</b><br>\"
  response.write \"Herunder ses overskriften og teksten til \" & overskrift & \". Hvis du vil ændre nogle af punkterne, så gøres dette herunder. <p>\"
  response.write \"</td></tr>\"



  response.write \"<tr><td width=100 valign=top<font face=\'Arial\' size=\'2\'>\"
  response.write \"Tekst:\"
  response.write \"</td><td width=300 valign=top><font face=\'Arial\' size=\'2\'>\"
  response.write \"<textarea rows=\'40\' name=\'tekst\' cols=\'80\'>\" & Replace(RS(\"tekst\"), \"<br>\", vbCrLf) & \"</textarea>\"
  response.write \"</td></tr>\"

  response.write \"<input type=\'hidden\' name=\'TekstID\' value=\'\" & tekstID & \"\'>\"

  rs.Close
  set rs = Nothing

%>

<tr><td width=100><font face=\'Arial\' size=\'2\'>

</td><td width=300><font face=\'Arial\' size=\'2\'>
<input type=\"submit\" Value=\"Ret tip\">&nbsp;&nbsp;&nbsp;<input type=\"Reset\" Value=\"Slet ændringer\">
</td></tr>
</form>


<% elseif mode = \"ret\" then %>

<%

  tekst = Replace(Request.Form(\"tekst\"), vbCrLf, \"<br>\")
TekstID = Trim(Request.Form(\"tekstid\"))

%>

<tr><td width=400 colspan=2>
<font face=\'Arial\' size=\'2\'>
<b>Ret tilmeldingsliste</b><br>
<font size=\"2\">
Du har nu rettet Dagens Tip <% = tekst %>. Ændringerne vil træde i kraft øjeblikkeligt.<br>
</td></tr>

<%

Const adOpenKeyset = 1
Const adLockOptimistic = 3
set conn = server.createobject(\"ADODB.connection\")
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")
conn.open strDSN

\'Søgekriterier for TipID defineres
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
SQL = \"SELECT TOP 1 * FROM startside Where tekstID=\'\" & tekstid & \"\'\"
rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic

    rs(\"tekst\") = tekst
    rs.Update
    rs.Close

Set rs = Nothing
Set conn = Nothing

%>


<% end if %>


</table>

</body>
</html>

Avatar billede dalbjerg Nybegynder
05. maj 2001 - 22:13 #1
det har ikke noget at sige om det er tekst eller notet
Avatar billede brisom Nybegynder
05. maj 2001 - 22:18 #2
Jeg har hørt nogle snakke om at hvis du har et notat felt så skal det smides over i en variabel som du så bruger.
Avatar billede jens_k Nybegynder
05. maj 2001 - 22:43 #3
Dalbjerg.. Jo.. et har noget at sige.. For det virker ikke når jeg laver det om til et Notat...

HVad skal jeg gøre for at det virker ?
Avatar billede perla Nybegynder
05. maj 2001 - 22:45 #4
replace funktionen har en begrænsning i streng længden den kan håndtere, formodentlig på 255. Har selv stødt ind i det problem med noter i access.

-Per
Avatar billede jens_k Nybegynder
05. maj 2001 - 22:47 #5
Ok.... Kan jeg løse det på en eller anden måde ?
Avatar billede perla Nybegynder
05. maj 2001 - 22:53 #6
Mener der er en replace funktion i jscript der tager strenge der er længere, men fik aldrig testet det.

En anden måde er at splitte det op i linier, så man henter første linie, erstatter de tegn man vil, tilskriver resultatet en variabel. Henter næste linie, gør detsamme...

skal lige se om jeg kan finde jscript funktionen.

-Per
Avatar billede roger Nybegynder
07. maj 2001 - 04:50 #7
Det passer ikke jeg har replace på langt over 255 tegn på min site.
Avatar billede roger Nybegynder
07. maj 2001 - 04:53 #8
--> Jens_k.....virker ikke ? kommer den med fejlmelding....hvis ja, hvilken ?
Avatar billede jens_k Nybegynder
06. juni 2001 - 12:31 #9
Nå.... Nu har jeg selv fundet ud af det.. Når man bruger Notat er det ikke nødvendigt at bruge Replace.. Det fikser den selv.. Såee..
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