Avatar billede herberth Juniormester
18. maj 2002 - 11:45 Der er 59 kommentarer og
1 løsning

Hjælp til oversættelse af kode

Jeg skal opdatere en site for en ven og har følgende problem. Sitens forside er en asp fil og indeholder en række tabeller. Indholdet af tabellerne fås ved at der inde i koden f.eks. står som følger:

<td valign="top" width="345"><img src="images/imagecontent/arbejde_121.jpg" width="130"
    height="159" border="0" align="left"> <%
    intro = Replace(RS3("body"),VBcRLF,"<br>" & VBcRLF)
> <%=intro%><br>
    <br>
    </td>

Tabellen kommer så til at have et indhold bestående af et billede og noget tekst. Det er teksten som volder mig problemer. Jeg forstår koden således at variablen INTRO sættes til at være lig med feltet BODY fra recordsættet / databasen RS3.

Men jeg kan simpelthen ikke finde ud af hvor den tekst er henne. Siten består af 850 filer i 57 mapper, bare til oplysning.  Jeg ved hvad teksten konkret er for nuværende inde i tabellen, men hvis jeg søger f.eks. efter en tekststreng fra teksten i min søg funktion så kigger den alle filerne på siten igenne og fortæller at den ikke findes. Hvordan kan det være ?
Avatar billede a1a1 Novice
18. maj 2002 - 12:20 #1
kommer der ikke noget frem eller ?
Avatar billede a1a1 Novice
18. maj 2002 - 12:21 #2
der mangler en % (det er muligvis bare en "copypaste" fejl :) )

<td valign="top" width="345"><img src="images/imagecontent/arbejde_121.jpg" width="130"
    height="159" border="0" align="left"> <%
    intro = Replace(RS3("body"),VBcRLF,"<br>" & VBcRLF)
%> <!-- mangler % tegn -->
<%=intro%><br>
    <br>
    </td>
Avatar billede herberth Juniormester
18. maj 2002 - 12:26 #3
Jo siten fungere udemærket. Det som jeg skal er at tilføje en ny tabel til forsiden. Det kan jeg finde ud af. men der skal jo noget tekst herind og hvis jeg kunne finde ud af hvordan teksten kommer ind i de andre felter kunne jeg kopiere fremgangsmåden.
Avatar billede c Nybegynder
18. maj 2002 - 12:34 #4
Det ser ud til at teksten og billedet ligger i en database (Rs3 -> bruges til til standart navne til recordset = recordset3 )

og i databasen skal du finde en kollone der hedder body (højstsandsynligt en memo-type.), jeg kan ikke finde ud af hvad tabellen eller databasen hedder, da jeg ikke kan se det ud af udsnittet, men med mere af koden kan jeg se det....
Avatar billede a1a1 Novice
18. maj 2002 - 12:35 #5
du skal så finde der hvor databasen åbnes

der er noget lig:
set RS3 =
(prøv at copypaste lidt af det)

men du skal passe lidt på, da du nemt kan fucke serveren op hvis du laver fejl.....:(
Avatar billede herberth Juniormester
18. maj 2002 - 12:41 #6
Der er i tilknytning til siten et administrationsværktøj DSI kan man opdatere forskellige ting på siten. Her er bl.a. opdatering af den tekst som jeg leder efter. Hvis jeg i administrationsværktøjet går ind og kigger på egenskaber af det dokument hvori teksten kan opdateres hedder filen UPDATE_PAGE1.ASP - Hvis jeg åbner den får jeg en side hvor der er forskellige tabeller på og så er der et tekstfelt man kan skrive i og nederst er der en opdateringsknap - feltet man kan skrive i benævnes -
<%=RS("body")%>

Men jeg kan stadig ikke finde hvor teksten er henne - men den ligger altså på et recordsæt et eller andet sted.
Avatar billede herberth Juniormester
18. maj 2002 - 12:45 #7
Jeg har søgt efter hvor der er noget med "set RS3 = " . I starten af dokumentet står følgende:

<%@ Language=VBScript %>
<!--#include file="conn_open.asp"-->
<!--#include file="ADOVBS.inc"-->
<!--#include file="IASUtil.asp"-->
<%
SQLStmt = "Select max(news_id) as MaxId From news Where news_catid=1"
Set RS = Connection.Execute(SQLStmt)
   
SQLStmt = "Select news_id,news_catid,headline,intro,body1 From news Where news_id=" & RS("MaxId")
Set RS1 = Connection.Execute(SQLStmt)   
   
SQLStmt = "Select text_id,headline,intro,body From text Where text_id=11"
Set RS3 = Connection.Execute(SQLStmt)
CurrentRecord = 0
   
SQLStmt = "Select text_id,body From text Where text_id=9"
Set RS4 = Connection.Execute(SQLStmt)
CurrentRecord = 0

%>
<html>
Avatar billede a1a1 Novice
18. maj 2002 - 12:51 #8
SQLStmt = "Select text_id,headline,intro,body From text Where text_id=11"
Set RS3 = Connection.Execute(SQLStmt)
CurrentRecord = 0

den henter teksten der hvor text_id = 11

du skal så oprette en ny

hvis der ikke er en funktion til det (og det er en Access db), kan du gå ind i access databasen finde tabelen "text"  og manuelt indskrive en ny post.
denne post får (sandsynligvis) automatisk et tal i feltet "text_id".

Det er dette tal du så skal bruge til det nye :)

?
Avatar billede herberth Juniormester
18. maj 2002 - 13:01 #9
Okay ja - det lyder helt rigtig - men hvor finder jeg databasen henne ?
Avatar billede a1a1 Novice
18. maj 2002 - 13:05 #10
søg efter *.mdb i windows (jeg går udfra at du har sitet liggende lokalt)

;)
Avatar billede herberth Juniormester
18. maj 2002 - 13:13 #11
Ja jeg har sitet liggende lokalt - Klar til at overføre med cuteFTP når jeg har rettet til, men det har vist lange udsigter - søgte efter *.mbd , men ingen kom frem under den mappe hvor sitens filer er placeret - Så hvad faen kan det være - jeg ringede til stedet hvor siten blev hostet for at sikre at jeg havde kopieret alle filerne som de havde og den var god nok. Jeg har fundet en fil der hedder DSI_data - det er en JScript fil - kan teksten være gemt i denne - jeg kan ikke få den åbnet - ellers må jeg nok sige at jeg er lidt blank overfor hvor teksten er henne - medmindre den ligger på en database ved dem som hoster siden - men det gør den vel ikke idet jeg har fået overført alle filerne. Nå men jeg er på bar bund. Kan selvfølgelig godt lave det extra tabelfelt som min ven vil have, men han kan altså ikke få noget tekst deri og det bliver han nok ikke synderlig imponeret over
Avatar billede a1a1 Novice
18. maj 2002 - 13:14 #12
*.mdb ?
:)
Avatar billede herberth Juniormester
18. maj 2002 - 13:16 #13
mente selvfølgelig *.mdb
Avatar billede a1a1 Novice
18. maj 2002 - 13:20 #14
ved du hvilken type database det er ?

hvis det ikke er access....:
har du ADSL (eller ligende, så du hele tiden er på?)
(så kan det jo være at den kalder databasen over nettet :) )
Avatar billede herberth Juniormester
18. maj 2002 - 13:23 #15
Nej jeg ved ikke hvilken database det er og ja jeg har ADSL - Er der mulighed for at jeg kan finde ud af hvilken database det er ?
Avatar billede a1a1 Novice
18. maj 2002 - 13:25 #16
det står nok i denne fil:
conn_open.asp
Avatar billede herberth Juniormester
18. maj 2002 - 13:26 #17
Sitens navn er i øvrigt www.detsocialeindeks.dk - hvis du vil se hvad det er som jeg rent konkret forsøger at ordne - lige nu prøver jeg som sagt at finde ud af hvor teksten. Det Sociale indeks.,,,etc. - kommer fra. når jeg har fundet ud af det skal jeg i kolonne to opdele den så der er tre rubrikker og ikke to som nu og så skal der i den miderste stå noget om at man kan bestille publikationer - Bare så du rent konkret kunne se hvad det er som jeg roder med
Avatar billede herberth Juniormester
18. maj 2002 - 13:30 #18
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Der var sgu to filer der hed conn_open.asp : I denne står:

Connection.Open = "Provider=sqloledb;Data Source=194.255.126.75,1433;Network Library=DBMSSOCN;Initial Catalog=d3299201;User ID=u3299201;Password=XXXXXXXXX;"
%>

Så hvad gør jeg nu ?
Avatar billede a1a1 Novice
18. maj 2002 - 13:32 #19
så er det vist en sqlsever...
Avatar billede herberth Juniormester
18. maj 2002 - 13:35 #20
Okay - mener du at jeg skal købe / anskaffe en SQL server, eller hvordan skal det forstås ?
Avatar billede a1a1 Novice
18. maj 2002 - 13:37 #21
for at oprette en ny post..

lav en ny asp fil..

<!--#include file="conn_open.asp"-->
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>

hver gang du kører denne fil vil du oprette en ny post...

den skriver så text_id ud på den nye post.
Avatar billede a1a1 Novice
18. maj 2002 - 13:38 #22
i stedet for
<!--#include file="conn_open.asp"-->

kan du jo indsætte
Set Connection = Server.CreateObject("ADODB.Connection")
Der var sgu to filer der hed conn_open.asp : I denne står:

Connection.Open = "Provider=sqloledb;Data Source=194.255.126.75,1433;Network Library=DBMSSOCN;Initial Catalog=d3299201;User ID=u3299201;Password=XXXXXXXXX;"

inden for <% :)
Avatar billede a1a1 Novice
18. maj 2002 - 13:40 #23
når du så skal ændre det (bruge det) kan du fx. skrive:

SQLStmt = "Select text_id,body From text Where text_id=XXXXXXXX"
Set RS6 = Connection.Execute(SQLStmt)
CurrentRecord = 0

hvor XXXXXXXX er det nye text_id du lige har oprettet
Avatar billede herberth Juniormester
18. maj 2002 - 13:45 #24
Okay - jeg går nu ind og
1) Tilføjer den nye tabel i filen forside.asp
2) Og forsøger at få det nye tekstfelt til at virke via de koder som du har givet mig. Vender tilbage hvis jeg ikke kan få det til at virke
Avatar billede a1a1 Novice
18. maj 2002 - 14:00 #25
:)
Avatar billede herberth Juniormester
18. maj 2002 - 14:36 #26
OKAY NU ER JEG I DEEP SHIT - PRØV LIGE AT GÅ IND PÅ SITEN OG SE HVORDAN JEG HAR FUCKET OP - UPLOADEDE FRA CUTEFTP OG SÅ SER DET SÅDAN UD - GIK IND OG TOG DEN OPRINDELIGE FIL OG UPLOADEDE DEN - MEN DET ÆNDRE SIG IKKE TILBAGE - PANIK !!!!!!!!!!!!!!
Avatar billede herberth Juniormester
18. maj 2002 - 14:38 #27
Pyha jeg skulle bare opdatere så gik den tilbage - men det som var beskeden var at den text id som jeg havde lavet var invalid. Jeg kan prøve at gøre det igen og så kan du se hvad der sker - er du med på den ? eller skal jeg prøve at kopier fejlmeddelsen og skrive den ind her ?
Avatar billede a1a1 Novice
18. maj 2002 - 14:42 #28
det er nok smartest hvis du sætter fejlen ind her :)
Avatar billede herberth Juniormester
18. maj 2002 - 14:46 #29
Det som jeg gjorde var at indsætte dette :

SQLStmt = "Select text_id,body From text Where text_id=XXXXXXXX"
Set RS6 = Connection.Execute(SQLStmt)
CurrentRecord = 0

i den første del af forsiden.asp - altså under hvor de andre tilsvarende koder står - altså imellem % tegnene.

Og da jeg så kiggede på siden var der ikke andet end fejlmeddelsen: At feltet XXXXXX ikke var defineret. Alt andet var væk !
Avatar billede a1a1 Novice
18. maj 2002 - 14:53 #30
XXXXXX

skal være det tal du fik da du kørte filen

<!--#include file="conn_open.asp"-->
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>

for at oprette den
:)
Avatar billede a1a1 Novice
18. maj 2002 - 14:53 #31
<!--#include file="conn_open.asp"-->
<%
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>
Avatar billede herberth Juniormester
18. maj 2002 - 15:03 #32
Okay hvordan gør jeg så det ? - Jeg skal kører denne fil for at få et nyt tekstfelt på serveren så vidt jeg har forstået - jeg går ind og åbner et blankt dokument i min webeditor og kopiere nedenstående tekst ind:

<!--#include file="conn_open.asp"-->
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>


Så går jeg ind og gemmer den lokalt på mit c drev under de andre filer som har med sitet at gøre og jeg kalder den NyPost.asp - når jeg så åbner den får jeg ikke andet end de oprindelige koder tilbage - den har åbenbart ikke været i kontakt med serveren - så hvad gør jeg galt ?
Avatar billede a1a1 Novice
18. maj 2002 - 15:14 #33
du skal lige huske
<%
dimsen som jeg havde glemt første gang :)
<!--#include file="conn_open.asp"-->
<%
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>
Avatar billede herberth Juniormester
18. maj 2002 - 15:19 #34
Okay - min fil ser således ud. - er dog lidt i tvivl om Include file="includelogin.asp" skal medtages - jeg prøve, men intet sker - hverken med eller uden.

<%@ Language=VBScript %>
<!--#include file="includelogin.asp"-->
<!--#include file="conn_open.asp"-->

<html>
<title>NyPost_ASP</title>
<head>
</head>
<body>
<% 
' indsæt i db
strSQL = "INSERT INTO text (headline) VALUES ('ny') "
Connection.Execute(strSQL)
' få nyt text_id
strSQL = "SELECT @@IDENTITY FROM text"
Set Rs = Connection.Execute(strSQL)
nytID = Rs(0)

Response.Write "Det nye text_id er: " & nytID
Connection.Close
%>
</body>
</html>
Avatar billede a1a1 Novice
18. maj 2002 - 15:25 #35
og den skriver bare det ud?

er det i samme dir som de andre asp filer? (der virker)
det kunne tyde på at der ikke er rettigheder for asp i det dir den ligger i :(
Avatar billede herberth Juniormester
18. maj 2002 - 15:29 #36
Jeg åbner filen med Explorer og den returnere en blank skærm - og ja den ligge i et dir hvor de ligger andre asp'er, der tilsyneladende har adgang - så det er lidt mystisk
Avatar billede herberth Juniormester
18. maj 2002 - 15:33 #37
Måske er det fordi de andre filer har en eller anden log ind kode ?
Avatar billede a1a1 Novice
18. maj 2002 - 15:35 #38
åbner med exporer?

du skriver vel http://site.dk/nypost.asp?
Avatar billede a1a1 Novice
18. maj 2002 - 15:43 #39
det virker lidt mystisk :)

er du sikker på at det er den rigtige fil den viser som blank?
højre klik vælg properties/egenskaber og se filnavnet der
(det er ikke sikkert at adressen i toppen ændre sig )
Avatar billede herberth Juniormester
18. maj 2002 - 15:54 #40
SÅDAN - NU LYKKEDES DET !!!!
Serveren skrev tilbage - dit nye text id er 15
så nu går jeg ind og udskifter XXXXXX med 15 - og ser om det kører - hvis det gør så skal jeg finde ud af også konkret at lave teksten - men foreløbig så virker det - supert !
Avatar billede herberth Juniormester
18. maj 2002 - 15:58 #41
Okay det virker - men, men, men Som du kan se hvis du går ind på siten så er det ikke videre pænt - jeg skal udskifte den ekxtra kasse jeg har lavet med et nyt billede og en ny tekst - foreløbig har jeg jo bare kopieret det som står ovenover - så,,,, Hvordan gør jeg det ?
Avatar billede a1a1 Novice
18. maj 2002 - 16:02 #42
SQLStmt = "Select text_id,body From text Where text_id=15"
Set RS6 = Connection.Execute(SQLStmt)
CurrentRecord = 0
i toppen af filen :)

i det du har indsat:
der står rs3 skal skiftes til rs6

håber du kan bruge det, skal snart gå (fra computern )
Avatar billede herberth Juniormester
18. maj 2002 - 16:06 #43
Jeg ønsker dig en fortsat god dag - du har været til MEGET hjælp. Er rigtig meget taknemmelig - jeg skal nok fortælle hvordan det kommer til at gå - arbejdere videre - der er jo nogen som må arbejde, mens andre bare skal ud og drikke øl eller noget andet useriøst - Tak foreløbig for hjælpen
Avatar billede a1a1 Novice
18. maj 2002 - 16:09 #44
:) skal bare hjem til mor og spise :))))

og måske ha lidt rødvin :) hik
Avatar billede herberth Juniormester
18. maj 2002 - 16:10 #45
Ja der er ingen som mødre, der kan lokke en i forfald - god aften
Avatar billede herberth Juniormester
18. maj 2002 - 16:16 #46
ADODB.Recordset error '800a0cc1'
Okay når jeg udskifter R1 med R6 står der følgende at læse på siten - under den pågældende tabel :

Item cannot be found in the collection corresponding to the requested name or ordinal.
/forside.asp, line 89
Avatar billede a1a1 Novice
19. maj 2002 - 11:36 #47
du skal bruge den der hedder rs3

rs1 henter nyheder fra tabelen news

rs3 henter tekster (af den type du har oprettet)
Avatar billede herberth Juniormester
19. maj 2002 - 11:56 #48
Godmorgen ! - Jeg prøver at indsætte noget tekst i feltet som jeg oprettede tidligere - textid 15 - fra recordsættet rs6 via følgende kode. Men du siger at jeg skal udskifte rs6 med rs3 ? - Koden ser sådan ud:

<%@ Language=VBScript %>
<!--#include file="conn_open.asp"-->
<html>

<head>
<title>Indsætte data i RS6 i felt Textid 15</title>
</head>
<body>
<%
strSQL = "Insert into RS6 ("
strSQL = strSQL & "textid15, "
strSQL = strSQL & "values( "
strSQL = strSQL & "'Her skriver jeg så teksten som den gerne skulle gemme i recordsat nr 6 i feltet text id 15', "

Conn.Execute(strSQL)
Connection.Close
%>
</body>
</html>
Avatar billede herberth Juniormester
19. maj 2002 - 12:00 #49
Okay jeg har også lige fundet ud af at der ikke skal stå Textid15, men derimod "body" så det udskifter jeg - men skulle det ellers virke ?
Avatar billede herberth Juniormester
19. maj 2002 - 12:17 #50
Grunden til at jeg tror det er rs6 er jo at jeg har indsat følgende i toppen af dokumentet:

    SQLStmt = "Select text_id,body From text Where text_id=15"
    Set RS6 = Connection.Execute(SQLStmt)
    CurrentRecord = 0
Avatar billede herberth Juniormester
19. maj 2002 - 16:27 #51
hej A1 har du tømmremænd i dag siden du ikke har vendt tilbage ???
Nå men jeg har fået det hele til at virke - endelig - Meget glad for din hjælp - du har meget fortjent pointene - Fortsat god dag
Avatar billede a1a1 Novice
19. maj 2002 - 16:39 #52
:) lidt he he
Avatar billede herberth Juniormester
19. maj 2002 - 16:53 #53
Nå du blev lokket i fordærv i går - hvad kan man lærer af det ? - tja aldrig nogensinde besøge sine forældre er en af de ting man kan lærer - hvis du ikke har for mange tømmremænd kan du måske give et godt råd om hvordan jeg finder ud af hvor den engelske tekst på forsiden ligger på databsen - så vidt jeg kan se så hedder den rs(4) - textid=9 - men når jeg skriver følgende:

<a href="updt_page1.asp?text_id=11&amp;mode=2">Engelsk tekst</a><br>

kommer jeg hen og redigere den tekst som teksten på forsiden reefere til. Hvis du har et hurtigt svar vil det være fint - Ellers så bare pas dine tømmremænd og igen - mange tak for hjælpen.
Avatar billede a1a1 Novice
20. maj 2002 - 11:43 #54
<a href="updt_page1.asp?text_id=11&amp;mode=2">Engelsk tekst</a><br>
du skal udskifte det id der referes til her nr 11 (text_id=11)

lav et nyt link som: (text_id=9)
<a href="updt_page1.asp?text_id=9&amp;mode=2">Den anden tekst</a><br>
Avatar billede herberth Juniormester
20. maj 2002 - 11:47 #55
Tak - Nå du er kommet til hægterne igen - Men jeg har fået det til at virke - prøv at kigge på siten og se hvor flot det er - www.detsocialeindeks.dk
Avatar billede a1a1 Novice
20. maj 2002 - 11:53 #56
det ser da helt fint ud :)))

(kan nu ikke lige huske hvad du har ændret)
Avatar billede c Nybegynder
21. maj 2002 - 11:49 #57
Tja... Det var da mig der var først med oversættelsen, men blev afvis, hvorfor ?? Jeg har faktisk besvaret de det spørgsmål osm du gav!
Avatar billede herberth Juniormester
21. maj 2002 - 11:57 #58
Hej C - Nu ikke sur vel -A1 hjalp med lidt mere end blot svar på mit første spørgsmål og gjorde en stor indsats så jeg synes godt vi kan unde ham de point.
Avatar billede c Nybegynder
21. maj 2002 - 12:14 #59
ja, ja... men jeg gjorde som du bad om, du kan bare dele pointene a1: 30 c:0 og på den måde får han alle pointene, og jeg får accepteret svare som jo i bund og grund er korekt, da jeg også fortalte at du skulle kigge efter en database, og hvordan du skulle finde tabellen, samt kolonnen... ik'?
Avatar billede herberth Juniormester
21. maj 2002 - 16:10 #60
Ok - jeg vidste ikke at jeg skulle skrive 0 i kassen for at du fik svar - Men i øvrigt var jeg da også glad for dit svar, som du selv ganske rigtig skriver er korrekt - så tak. Grunden til at A1 fik alle pointene var som nævnt fordi han hjalp med lidt mere end bare det. Men tak for dit indlæg.  Fortsat god dag
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