/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvorfor opdatere følgende side ikke min da~
Fra : Sune Uldall


Dato : 23-09-03 19:35

Jeg har nu brugt 3 timer på at finde ud af hvad jeg har gjort
forkert !

Håber der er en af jer der kan hjælpe !!!

Her kommer det ubehjælpelige kode:

________________________kode start___________________
<%@language=vbscript %>
<% option explicit %>

<html>
<head>
<title>ret billede oplysninger data</title>
<meta name="generator" content="">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple"
alink="red">
<!--#include virtual="/adovbs.inc"-->

<%
dim objRS, strDSN, bolfound, lsagsnummer, SN, objconn,
lbilledenavn

'---------- database forbindelse ---------------
Set objConn = server.createObject("ADODB.connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" &
Server.Mappath("../log/oversigt.mdb")
Objconn.Open strDSN

Set objRS = Server.Createobject("ADODB.recordset")
objrs.open "billeder", objconn, ,adlockoptimistic, adcmdtable
bolfound=false

'--------- Henter info fra form ---------------Start----
lsagsnummer = request.form("sagsnummer")
lbilledenavn = request.form("billedenavn")
'--------- Henter info fra form ---------------Slut-----

'---------debugger----------------------------start----
response.write "<br>"
response.write lbilledenavn
response.write "<br>"
response.write lsagsnummer
response.write "<br>"
response.write request.form("vises")
response.write "<br>"
response.write request.form("beskrivelse")
'---------debugger----------------------------slut----

'----- Find den record der skal rettes ------ Start-----
do until objrs.EOF or bolfound
if (strcomp(objrs("billedenavn"), lbilledenavn, vbtextcompare)
= 0) then
bolfound = true
else
objrs.movenext
end if
loop
'----- Find den record der skal rettes ------ Slut -----

'----- Foretager rettelse i dataabse ------ Start-----
'objRs("vises") = request.form("vises") *********
objRs("beskrivelse") = request.form("beskrivelse")
objRS.update
'----- Foretag rettelse i database ----- Slut ------
      

'-----Ryd op i objekter-----------------Start------------
objrs.close
set objrs = nothing
objconn.close
set objconn = nothing
'-----Ryd op i objekter------------------Slut------------
%>
<br>
<br>
<a href='sagen.asp?SN=<%=Lsagsnummer%>'>Billeder der vises på
sagens side er opdateret</a>
</body>
</html>
________________________kode slut___________________


******* Det er iøvrigt mit andet problem !!!


hvordan opdaterer jeg en checkbox.....

følgende kode er på "hovedsiden":

________________________kode start___________________

<form action="retvisgem.asp" method="post">
<input type="hidden" name="sagsnummer"
value="<%=RS("sagsnummer")%>" />
<input type="text" name="beskrivelse"
value="<%=rs("beskrivelse")%>" />
<%
response.write "<input type='checkbox' name='vises' "
if rs("vises")=true then
response.write "checked"
end if
response.write " value='"
response.write rs("vises")
response.write "' >'"
%>
<input type="submit" name="billedenavn"
value="<%=rs("billedenavn")%>"></form>
________________________kode slut___________________

Hvilket sætter "hakket" rigtigt.... men uanset hvad jeg gør på
opdateringssiden melder den

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

Multiple-step OLE DB operation generated errors. Check each OLE
DB status value, if available. No work was done.

/asp/retvisgem.asp, line 62

og det fatter jeg jo ikke hvad betyder !!!

Håber der er en behjælpelig sjæl eller to :)

Sune

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (23-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 23-09-03 20:42

Sune Uldall skrev:

> Jeg har nu brugt 3 timer på at finde ud af hvad jeg har gjort
> forkert !
>
> Håber der er en af jer der kan hjælpe !!!

Prøv at starte her: <http://asp-faq.dk/article/?id=41>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Sune Uldall (23-09-2003)
Kommentar
Fra : Sune Uldall


Dato : 23-09-03 22:07

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Sune Uldall skrev:
>
> > Jeg har nu brugt 3 timer på at finde ud af hvad jeg har gjort
> > forkert !
> >
> > Håber der er en af jer der kan hjælpe !!!
>
> Prøv at starte her: <http://asp-faq.dk/article/?id=41>.


Hej Jens

Problemet er at der INGEN fejlmeddelelse kommer...... der sker
bare ingen opdatering i databasen... koden løbes igennem....
debuggeren fortæller mig, at de rigtige data (de rettede) er
tilstede i de rigtige variabler, men databasen bliver stadig ikke
opdateret !

Sune

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (23-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 23-09-03 22:36

Sune Uldall skrev:

> debuggeren fortæller mig, at de rigtige data (de rettede) er
> tilstede i de rigtige variabler,

Du udskriver ikke nogen debuginformation om hvorvidt du finder en
post at opdatere.

Noget andet er at du bruger en meget ineffektiv måde at finde
poster på.

Du skriver:

| do until objrs.EOF or bolfound
| if (strcomp(objrs("billedenavn"), lbilledenavn, vbtextcompare)
| = 0) then

Det svarer til at du åbner en bog på side et og bladrer den igennem
side for side for at finde dit søgeord. Det går langt hurtigere
hvis man bruger bogens indeks. Tilsvarende går det også hurtigere
hvis du beder databasen om at finde din værdi. Prøv med en
sqlkommando a la:

SELECT vises, beskrivelse FROM billeder WHERE billedenavn = '" &
lbilledenavn & "'"

Du kan sådan set også bare opdatere direkte i en sql-kommando. Så
er syntaksen:

UPDATE billeder SET vises = 'værdi_for_vises',
beskrivelse='værdi_for_beskrivelse' WHERE billedenavn = '" &
billedenavn & "'"

Lidt fejlhåndtering ville også være en god ide. Du vil med din
nuværende kode få en asp-fejl hvis du forsøger at opdatere et
billedenavn der ikke kan findes i tabellen billeder. Inden du
forsøger at rette via et postsæt skal du tjekke for om
tilstanden er EOF - dvs. postsættet er tomt eller nået til sidste
post.

Jeg vil anbefale dig at læse lidt om hvordan man bruger databaser
sammen med asp - prøv fx html.dk's asp-tutorial der har et mindre
afsnit om databaser: <http://html.dk/tutorials/asp/lektion19.asp>
FF.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Sune Uldall (24-09-2003)
Kommentar
Fra : Sune Uldall


Dato : 24-09-03 00:22


> Du udskriver ikke nogen debuginformation om hvorvidt du finder en
> post at opdatere.

jeg finder en post at opdatere :)


> Noget andet er at du bruger en meget ineffektiv måde at finde
> poster på.

Jeg ved det !

Prøv med en
> sqlkommando a la:
>
> SELECT vises, beskrivelse FROM billeder WHERE billedenavn = '" &
> lbilledenavn & "'"
>

Jeg har forsøgt med:
-------------------kode-------------

Set objConn = server.createObject("ADODB.connection")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" &
Server.Mappath("../log/oversigt.mdb")

Objconn.Open strDSN
Set objRS = Server.Createobject("ADODB.recordset")

sqlstr = "select * FROM billeder where billedenavn LIKE '" &
lbilledenavn & "'" & " AND sagsnummer LIKE '" & lsagsnummer & "'"

Set objRS = objConn.Execute(sqlstr)
--------------kode--------------------
men så får jeg fejlen:

ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a
limitation of the provider, or of the selected locktype.

/asp/retvisgem.asp, line 67


objRs("beskrivelse") = request.form("beskrivelse") <==== linie 67




>
> Lidt fejlhåndtering ville også være en god ide. Du vil med din
> nuværende kode få en asp-fejl hvis du forsøger at opdatere et
> billedenavn der ikke kan findes i tabellen billeder.

Det er ikke muligt at komme ind på et billedenavn der ikke
eksisterer, men du har selvfølgelig ret :)

>
> Jeg vil anbefale dig at læse lidt om hvordan man bruger databaser
> sammen med asp - prøv fx html.dk's asp-tutorial der har et mindre
> afsnit om databaser: <http://html.dk/tutorials/asp/lektion19.asp>
> FF.

JoTak :) den tror jeg nok jeg har læst, og et par 100 sider til...

Sune

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (24-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-09-03 14:56

Sune Uldall skrev:

>> Du udskriver ikke nogen debuginformation om hvorvidt du
>> finder en post at opdatere.
>
> jeg finder en post at opdatere :)

Hvordan ved du det?

> Jeg har forsøgt med:

> Objconn.Open strDSN
> Set objRS = Server.Createobject("ADODB.recordset")

I linjen herover skal du angive at du gerne vil kunne opdatere dit
postsæt. Jeg kan ikke huske hvilke konstanter du skal angive, men
det bør kunne findes på Google.

Men hvorfor opdaterer du ikke bare med UPDATE?


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste