Avatar billede flax Nybegynder
25. marts 2003 - 13:42 Der er 44 kommentarer og
2 løsninger

fejl i update i tabel

Hej Jeg får en:
ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/intranet/apoteks_goal_ret.asp, line 0

Hvad kan det være?

Koden:
<% @Language=VBScript %>
<% Server.ScriptTimeout = 3600 %>
<% Response.buffer=true %>
<% Response.Expires = -1 %>
<!--#include file="xxx.asp" -->
<!--#include file="mxxx.asp" -->
<!--#include file="xxx.asp"-->

<html>
<head>
<script language="javascript">
{
document.write('<link rel="stylesheet" href="styles.css">');
}
</script>
<style type="text/css">
body {
    scrollbar-face-color:5DA91D;
}
</style>
        <style>
                                BODY {
                        overflow-x: hidden
                    }
        </style>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<%
id = request("id")
stat = ""
stat = request("status")
if len(stat) > 0 then
salgdd = Trim(request.form("salgdd"))

my_conn.execute "update goal set salgdd='"&salgdd&"' where id = '"&id&"'"
response.redirect ("apoteks_goal_ret.asp")
end if
salgdd = "SELECT salgdd FROM goal WHERE id ='"&id&"'"
Set rs = my_conn.execute(salgdd)

%>





</head>
<body topmargin="0" leftmargin="0" bgcolor="#EDFBF1">
   
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td>
      <p>
      <div class="overskrift"><a class="overskrift" href="forside.asp" target="_self">Forside</a>
        > Ret apoteks m&aring;ls&aelig;tning</div>
     
    </td>
  </tr>
</table>



 
<br>
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td><form method="post" action="apoteks_goal_ret.asp?id=<%=id%>&status=save" name="SaveForm" ID=Form1>
        <p>
            <font size="2"><b>Nicorette salg &aring;r til dato 2003:</b></font><br>
          <input type=text name=salgdd size=40 id=Text1 maxlength=100 value="<%=rs("salgdd")%>">
          (kr.)</p>
        <input
      type="image" src="grafik/tilmeld.gif" name="Submit">
        </form>
    </td>
  </tr>
</table>
<%
my_conn.Close
Set my_conn = nothing
Set SQLstmt = nothing
%>
</body>
</html>
Avatar billede kichian Nybegynder
25. marts 2003 - 13:48 #1
Tabellen goal er tom eller også har id ikke nogen værdi
Avatar billede oasen Nybegynder
25. marts 2003 - 13:50 #2
At din SQL-streng returnerer et tomt recordsæt:

salgdd = "SELECT salgdd FROM goal WHERE id ='"&id&"'"

Hvorfor har du sat apostroffer rundt om dit id? Hvis det er et tal, skal du blot skrive:

salgdd = "SELECT salgdd FROM goal WHERE id =" & id
Avatar billede oasen Nybegynder
25. marts 2003 - 13:52 #3
Hvis id ingen værdi har, vil fejlmeddelelsen være noget alá "Object required"
Avatar billede flax Nybegynder
25. marts 2003 - 14:00 #4
Ok, prøver lige at kigge på jeres svar:
Tabellen er ikke tom
Hvis jeg fjerner '' så kommer fejlmeddelese:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1
/intranet/apoteks_goal_ret.asp, line 41
Og linje 41 er: Set rs = my_conn.execute(salgdd)
Avatar billede oasen Nybegynder
25. marts 2003 - 14:05 #5
Okay - så er det fordi dit id-nummer ingen værdi har. Du ser bare først fejlmeddelelsen efter, du har fjernet apostrofferne, da SQL-syntaksen dermed ikke er korrekt.
Avatar billede oasen Nybegynder
25. marts 2003 - 14:07 #6
Du må kun execute'e din SQL, hvis id er numerisk:

salgdd = "SELECT salgdd FROM goal WHERE id ='"&id&"'"
If Trim(id) <> "" And IsNumeric(id) Then
    Set rs = my_conn.execute(salgdd)
End If
Avatar billede flax Nybegynder
25. marts 2003 - 14:08 #7
Hvordan får mit id nummer en værdi? Forstår ikke helt..
Avatar billede flax Nybegynder
25. marts 2003 - 14:08 #8
prøver
Avatar billede oasen Nybegynder
25. marts 2003 - 14:10 #9
id får værdien fra din querystring:

id = request("id")

http://www.dinside.dk/dinfil.asp?id=546
Avatar billede flax Nybegynder
25. marts 2003 - 14:10 #10
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'rs'
/intranet/apoteks_goal_ret.asp, line 76

Linje 76: <input type=text name=salgdd size=40 id=Text1 maxlength=100 value="<%=rs("salgdd")%>">
Avatar billede flax Nybegynder
25. marts 2003 - 14:11 #11
Hvis jeg fjerner rs-> ="<%=rs("salgdd")%>"> til ="<%=salgdd%>">
Så skriver den følgende i mit textfiled istedet for at give mig det rigtige output: SELECT salgdd FROM goal WHERE id =''
Avatar billede flax Nybegynder
25. marts 2003 - 14:13 #12
jeg kommer ind på udate siden (den i har koden til apoteks_goal_ret.asp) fra siden apoteks_goal_se.asp som linker til apoteks_goal_ret.asp?&id=1 hvis det er id 1 der er linket.. Forstår i hvad jeg mener?
Avatar billede oasen Nybegynder
25. marts 2003 - 14:15 #13
Ja, det løser du således:

salgdd = "SELECT salgdd FROM goal WHERE id =" & id
If Trim(id) <> "" And IsNumeric(id) Then
    Set rs = my_conn.execute(salgdd)
%>

</head>
<body topmargin="0" leftmargin="0" bgcolor="#EDFBF1">
   
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td>
      <p>
      <div class="overskrift"><a class="overskrift" href="forside.asp" target="_self">Forside</a>
        > Ret apoteks m&aring;ls&aelig;tning</div>
     
    </td>
  </tr>
</table>



 
<br>
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td><form method="post" action="apoteks_goal_ret.asp?id=<%=id%>&status=save" name="SaveForm" ID=Form1>
        <p>
            <font size="2"><b>Nicorette salg &aring;r til dato 2003:</b></font><br>
          <input type=text name=salgdd size=40 id=Text1 maxlength=100 value="<%=rs("salgdd")%>">
          (kr.)</p>
        <input
      type="image" src="grafik/tilmeld.gif" name="Submit">
        </form>
    </td>
  </tr>
</table>

<%
Else
    Response.Write "ID er tomt!"
End If

my_conn.Close
Set my_conn = nothing
Set SQLstmt = nothing
%>
</body>
</html>
Avatar billede oasen Nybegynder
25. marts 2003 - 14:17 #14
Kort fortalt kan du bare ikke kalde rs("salgdd") hvis du ikke har noget recordsæt.
Avatar billede flax Nybegynder
25. marts 2003 - 14:17 #15
ja så skriver den ID er tomt!
Avatar billede flax Nybegynder
25. marts 2003 - 14:18 #16
indhold af tabellen goal:

  id  apoteksnavn  resultat  newgoal  salgdd 
Ret  Slet  1 a_test 90 100 33
Ret  Slet  2 b_test 85 100 33
Avatar billede oasen Nybegynder
25. marts 2003 - 14:19 #17
Hvorfor står der "ret" i id-kolonnen?
Avatar billede flax Nybegynder
25. marts 2003 - 14:22 #18
Den har forskudt sig :-) det er bare mulighederne i mysqlen ret og slet
Avatar billede oasen Nybegynder
25. marts 2003 - 14:22 #19
Er kolonnen "id" ikke af typen "integer"?
Avatar billede flax Nybegynder
25. marts 2003 - 14:22 #20
id skal skubbes hen over 1 og 2 så giver det mening :-)
Avatar billede flax Nybegynder
25. marts 2003 - 14:27 #21
Nej kolonnen ider som den skal være
Feltnavn  Datatype Attributter Nulværdi Standardværdi Ekstra
id      tinyint(11)  Nej                            auto_increment
Avatar billede oasen Nybegynder
25. marts 2003 - 14:34 #22
Fint nok - du bruger ASPadmin?
Avatar billede oasen Nybegynder
25. marts 2003 - 14:35 #23
Og hvad kalder du siden med?
Avatar billede flax Nybegynder
25. marts 2003 - 14:36 #24
<% response.expires = -1 %>

        <%

    SQLserveradr="mysql.xxxxxxx.dk"
    SQLdatabase="xxxxxxx"   
    SQLlogin="xxxxxxxx"
    SQLpassword="xxxx"
   
    Set my_conn = Server.CreateObject("ADODB.Connection")

    my_conn.Open "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase &";uid="& SQLlogin &";pwd="& SQLpassword 
   
    %>
Avatar billede flax Nybegynder
25. marts 2003 - 14:37 #25
Yes bruger asp admin
Avatar billede oasen Nybegynder
25. marts 2003 - 14:39 #26
Nææ... jeg tænkte på URL'en.

http://www.......................?
Avatar billede flax Nybegynder
25. marts 2003 - 14:39 #27
Ovenstået connection skabes via. <!--#include file="xxx.asp" -->
Avatar billede flax Nybegynder
25. marts 2003 - 14:40 #28
Urlen til selve filen? Den kan du ikke se da den er pass protectet..Fjerner lige beskyttelsen, 2 sek
Avatar billede flax Nybegynder
25. marts 2003 - 14:42 #29
http://dit-apotek.itoverblik.dk/intranet/apoteks_goal_se.asp  (< Den fil der linker til apoteks_goal_ret.asp)
http://dit-apotek.itoverblik.dk/intranet/apoteks_goal_ret.asp (< Den fil du kan se koden til foroven)
Avatar billede oasen Nybegynder
25. marts 2003 - 14:43 #30
Den skal også indeholde et id, for at du kan lave dit udtræk:

http://dit-apotek.itoverblik.dk/intranet/apoteks_goal_ret.asp?id=1
Avatar billede flax Nybegynder
25. marts 2003 - 14:45 #31
Avatar billede flax Nybegynder
25. marts 2003 - 14:46 #32
Vi du se koden i apoteks_goal_se.asp ?
Avatar billede oasen Nybegynder
25. marts 2003 - 14:47 #33
Fejlen ligger her:

http://dit-apotek.itoverblik.dk/intranet/apoteks_goal_ret.asp?&id=1

? må ikke være efterfulgt af &
Avatar billede flax Nybegynder
25. marts 2003 - 14:58 #34
ok! Fedt! Ja nu kommer værdien af feltet for den pågældne id frem som den skal, men prøv så at ændre den om tryk på knappen - ID er tomt!
Avatar billede oasen Nybegynder
25. marts 2003 - 15:12 #35
Ja, jeg tror, jeg ved, hvad du vil. Du får lige koden med et par ændringer.

============================================================

<% @Language=VBScript %>
<% Server.ScriptTimeout = 3600 %>
<% Response.buffer=true %>
<% Response.Expires = -1 %>
<!--#include file="xxx.asp" -->
<!--#include file="mxxx.asp" -->
<!--#include file="xxx.asp"-->

<html>
<head>
<script language="javascript">
{
document.write('<link rel="stylesheet" href="styles.css">');
}
</script>
<style type="text/css">
body {
    scrollbar-face-color:5DA91D;
}
</style>
        <style>
                                BODY {
                        overflow-x: hidden
                    }
        </style>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<%
id = request("id")
stat = ""
stat = request("status")
if len(stat) > 0 then
salgdd = Trim(request.form("salgdd"))

my_conn.execute "update goal set salgdd='"&salgdd&"' where id = '"&id&"'"
response.redirect ("apoteks_goal_ret.asp")
end if

If Trim(id) <> "" And IsNumeric(id) Then
    salgdd = "SELECT salgdd FROM goal WHERE id =" & id
    Set rs = my_conn.execute(salgdd)
    VarTilForm = rs("salgdd")
End If

%>





</head>
<body topmargin="0" leftmargin="0" bgcolor="#EDFBF1">
   
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td>
      <p>
      <div class="overskrift"><a class="overskrift" href="forside.asp" target="_self">Forside</a>
        > Ret apoteks m&aring;ls&aelig;tning</div>
     
    </td>
  </tr>
</table>



 
<br>
<table border="0" cellpadding="0" cellspacing="0" width="598">
  <tr>
    <td><form method="post" action="apoteks_goal_ret.asp?id=<%=id%>&status=save" name="SaveForm" ID=Form1>
        <p>
            <font size="2"><b>Nicorette salg &aring;r til dato 2003:</b></font><br>
          <input type=text name=salgdd size=40 id=Text1 maxlength=100 value="<%=VarTilForm%>">
          (kr.)</p>
        <input
      type="image" src="grafik/tilmeld.gif" name="Submit">
        </form>
    </td>
  </tr>
</table>
<%
my_conn.Close
Set my_conn = nothing
Set SQLstmt = nothing
%>
</body>
</html>
Avatar billede flax Nybegynder
25. marts 2003 - 15:16 #36
Fantastisk, det tog lang tid, vil du have flere point?
Super super tak skal du have!!
Avatar billede oasen Nybegynder
25. marts 2003 - 15:18 #37
40, fed og færdig ;)
Avatar billede oasen Nybegynder
25. marts 2003 - 15:19 #38
Det er op til dig at vurdere, hvad du synes, svarene var værd...
Avatar billede flax Nybegynder
25. marts 2003 - 15:20 #39
Det var guld værd *G* Finder lige ud af noget, tak for hjælp i hvert fald
Avatar billede oasen Nybegynder
25. marts 2003 - 15:21 #40
Var så lidt ;)
Avatar billede flax Nybegynder
25. marts 2003 - 15:21 #41
Du har ikke givet nok point for svar til den valgte handling.
Avatar billede oasen Nybegynder
25. marts 2003 - 15:22 #42
Hvad?
Avatar billede flax Nybegynder
25. marts 2003 - 15:22 #43
ok, så var den der :-) Tak igen igen
Avatar billede oasen Nybegynder
25. marts 2003 - 15:23 #44
Tak for points.
Avatar billede flax Nybegynder
25. marts 2003 - 15:33 #45
Lidt flere point til dig hvis du kan klare denne her:
Der hvor der stod indeks, beregnes således:
<%
newgoal = rs("newgoal")
salgdd = rs("salgdd")
ialt = salgdd/newgoal*100
%>
<%=ialt%>
Hvordan sikre jeg at den kun medtager 2 karakter efter et komma?
F.eks. skal den ikke vise 55,5555555555556 men bare 55,55
Avatar billede oasen Nybegynder
05. maj 2003 - 08:42 #46
Tal = "55,5555555555556"
Response.Write FormatNumber(Tal, 2)
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