Avatar billede Slettet bruger
01. juni 2010 - 23:03 Der er 19 kommentarer og
1 løsning

Kalde fra datasen - asp

Jeg har forsøgt mig med asp, som ikke er helt nemt. Jeg har en side, hvor der indsættes nogle indlæg. Det virker fint. Men jeg vil gerne, at brugere kan se deres egen indlæg på en side. Jeg har i databasen, som hedder arkiv, felterne id - overskrift - indhold - ansvarlig. Medlemmerne logger ind.

Kan nogen fortælle hvad jeg gør forkert?





<code><%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../Connections/conn.asp" -->
<%
'--RSinfo
Dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(Conn)

set RSrightAdds=Server.CreateObject("ADODB.recordset")
RSrightAdds.Open "SELECT * FROM rightAdds order by Rand() LIMIT 0,6 ", myConn
%>
<!--#include file="../../md5/md5.asp"-->

<%
         
**********************************************************         
  LÆNGERE NEDE       
         
**********************************************************         
         
         
           
         
            <%
Dim RSarkiv
Dim RSarkiv_numRows

Set RSarkiv = Server.CreateObject("ADODB.Recordset")
RSarkiv.ActiveConnection = MM_byen_STRING

if not request.cookies(md5("byen"))("rang") = "admin" then
RSarkiv.Source = "SELECT *  FROM arkiv WHERE ansvarlig = '" & request.cookies(md5("byen"))("brugernavn") & "'  ORDER BY id DESC"
else
RSarkiv.Source = "SELECT *  FROM arkiv ORDER BY id DESC"
end if

RSarkiv.CursorType = 0
RSarkiv.CursorLocation = 2
RSarkiv.LockType = 1
RSarkiv.Open()
Open "SELECT * FROM arkiv", database, 2, 2
RSarkiv_numRows = 0
%></code>
Avatar billede keysersoze Guru
01. juni 2010 - 23:56 #1
hvad får du af fejl?
Avatar billede Slettet bruger
02. juni 2010 - 12:50 #2
Den kommer med fejlen:

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

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'arkiv'. Make sure it exists and that its name is spelled correctly.

/lokalinfo/arkivet/arkiv-mine-indlag.asp, line 417



Arkiv findes i databasen

Jeg bruger ASP og MySQL database
Avatar billede keysersoze Guru
02. juni 2010 - 13:50 #3
ikke ifølge din forespørgsel - og den har trods alt altid ret. Det undrer mig dog hvis du benytter en Access-connection til en MySQL database?
Avatar billede Slettet bruger
02. juni 2010 - 13:58 #4
Jamen det er jo nok der jeg har lavet galt. Jeg ved da ihvertfald at min database er i MySQL og at der er en der hedder arkiv deri.
Avatar billede Slettet bruger
02. juni 2010 - 15:07 #5
I denne her <!--#include file="../../Connections/conn.asp" -->
har du formentlig din connection til en access-database. Denne skal ændres til en af dem herfra:

http://www.connectionstrings.com/mysql

\Dan
Avatar billede Slettet bruger
02. juni 2010 - 16:07 #6
Nej i den har jeg min connection til min MySql database.

Og i en anden fil, hvor jeg henter alle indlæg fra databasen, virker det fint. Men det er når jeg vil hente siden med brugernes egne indlæg den går galt.
Avatar billede Slettet bruger
02. juni 2010 - 17:13 #7
Jamen!!!! Når det er en MySQL database du arbejder med skal du da også bruge den korrekte driver. Og ikke en driver til access.

Derfor skal du ændre din connection.

\Dan
Avatar billede Slettet bruger
02. juni 2010 - 17:19 #8
Jamen jeg spørger fordi jeg ikke kan finde ud af det. Jeg ved jo godt jeg bruger en sql og at jeg skal bruge den - MEN hvad skal jeg skrive?
Hvor er det at jeg har fået en acces driver ind i billedet henne og hvorfra?

Jeg ved godt jeg er dum, men skal jo lære det først.
Avatar billede Slettet bruger
02. juni 2010 - 17:26 #9
Og i min fil med conn står der:



<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="true"
' Catalog=""
' Schema=""
Dim Conn
Conn = "Driver={MySQL ODBC 3.51 Driver};Server=bla bla;Database=bla bla"
%>
Avatar billede Slettet bruger
02. juni 2010 - 17:43 #10
Jeg tror selv, at det har noget at gøre med, at jeg henter brugerne fra en acces database og henter indlægene fra en MySql database. Derfor den siger at den ikke finder arkiv i acces, for den ligger i den anden.
Men jeg forstår det ikke lige, så må vist hellere glemme det. I må gerne få point for at have brugt tid på mig, men jeg er vist for svær at få til at forstå det.
Avatar billede keysersoze Guru
02. juni 2010 - 18:13 #11
Så vidt jeg kan se benytter du slet ikke objektet "Conn" i din kode? Hvordan ser den kode ud der fungerer op imod MySQL?
Avatar billede Slettet bruger
02. juni 2010 - 21:38 #12
Den får du her - det er fra den side der henter en liste med indlæg, og det virker fint nok .

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../md5/md5.asp"-->
<!--#include file="../../Connections/conn.asp" -->
<%

'--RSinfo
Dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(Conn)

set RSrightAdds=Server.CreateObject("ADODB.recordset")
RSrightAdds.Open "SELECT * FROM rightAdds order by Rand() LIMIT 0,6 ", myConn

*************************************


<p class="overskrift1"><strong><%response.write(RSarkiv("type"))%></strong><br>
                </p>
<hr size="1">
                <span class="indhold1"><strong>Seneste indl&aelig;g:</strong><br>
                <br>
                        <%While NOT RSarkiv.EOF%>
                        </MM:DECORATION></MM_REPEATEDREGION>
                </span>
                <MM_REPEATEDREGION NAME="Repeat1" SOURCE="RSarkiv"><MM:DECORATION OUTLINE="Repeat" OUTLINEID=1><table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#F0F0F0">
                    <tr>
                      <td bordercolor="#000000"><table width="100%" border="0" cellpadding="3" cellspacing="0" bordercolor="#000000" background="../../images/tekstbaggrunde/frisk-blaa.jpg">
                        <tr>
                          <%if not (RSarkiv("img1").Value) = "" then%>
                          <td width="80" valign="middle"><span class="indhold1">
                            <%if not (RSarkiv("img1").Value) = "" then %>
                              </span>
                            <table border="1" cellpadding="0" cellspacing="0" bordercolor="#F0F0F0">
                                <tr>
                                  <td bordercolor="#000000" class="indhold1"><img src="../arkivet/media/<%=RSarkiv.Fields.Item("img1").Value %>" alt="<%=(RSarkiv.Fields.Item("titel").Value)%>" width="110" height="80" border="0" align="top"></td>
                                </tr>
                            </table>
                            <span class="indhold1">
                            <%end if%>
                            </span></td>
                          <%end if%>
                          <td width="334" valign="top" class="indhold1"><strong><%=(RSarkiv.Fields.Item("titel").Value)%><br>
                            </strong><%=(mid(RSarkiv.Fields.Item("indhold").Value,1,150))%><strong><br>
                            </strong><br></td>
                          <td width="99"><div align="center" class="indhold1"><strong><a href="arkiv-details.asp?id=<%=RSarkiv("id")%>" class="indhold1">Se mere  &gt;&gt;</a></strong>
                                  <%if request.cookies(md5("byen"))("rang") = "admin" then%>
                            </div>
                              <div align="right" class="style39">
                                <div align="right" class="indhold1"><a href="slet-indlag.asp?id=<%=RSarkiv.Fields.Item("id")%>" class="indhold1" onClick="return confirm('ADVARSEL! Du er ved at slette et indl&aelig;. Tryk OK for at bekr&aelig;fte sletningen.');">[Slet dette indl&aelig;g]</a></div>
                              </div>
                            <div align="center" class="style39"> </div>
                            <span class="indhold1">
                            <%end if%>
Avatar billede keysersoze Guru
02. juni 2010 - 22:22 #13
Der benytter du også netop Conn-objektet fra din conn.asp - så hvorfor benytter du to forskellige måder at snakke sammen med databasen på?
Avatar billede Slettet bruger
02. juni 2010 - 22:33 #14
Jamen jeg er bare så forvirret nu, at jeg slet ikke aner jeg bruger 2 og hvor jeg overhovedet skal rette.
Avatar billede keysersoze Guru
02. juni 2010 - 23:02 #15
Er det ikke bare lettest at tage koden fra #12 og så lave de ganske få rettelser der skal til? Hvis du ikke kan gennemskue en eventuel meget lang kode så byg det hellere langsomt op fra dele der fungerer.
Avatar billede Slettet bruger
02. juni 2010 - 23:06 #16
Jo, men kneb mig. Men jeg finder ud af det. Tak for jeres tålmodighed. Hvis I smider et svar, skal I nok få point ;)
Avatar billede Slettet bruger
03. juni 2010 - 00:37 #17
Skal ikke have nogle point - ellers tak! Så vil jeg meget hellere hjælpe dig til en løsning...

Hvis du absolut vil have adgang til to forskellige databaser, nemlig både Access og MySQL på samme side så bliver du nød til at kalde opbjekter noget forskelligt. fx. conn1 og conn2...

\Dan
Avatar billede Slettet bruger
03. juni 2010 - 15:08 #18
Jamen langt om længe fattede jeg det, om nu virker det minsandten.
Der var lige lidt der blev slettet ;)


Koden ser nu sådan ud:





<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../Connections/conn.asp" -->
<%
'--RSinfo
Dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(Conn)

set RSrightAdds=Server.CreateObject("ADODB.recordset")
RSrightAdds.Open "SELECT * FROM rightAdds order by Rand() LIMIT 0,6 ", myConn
%>
<!--#include file="../../md5/md5.asp"-->

<%
***********************************************

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(Conn)

set RSarkiv=Server.CreateObject("ADODB.recordset")
if not request.cookies(md5("byen"))("rang") = "admin" then
RSarkiv.Open "SELECT *  FROM arkiv WHERE ansvarlig = '" & request.cookies(md5("byen"))("brugernavn") & "'  ORDER BY id DESC", myConn
else
RSarkiv.Open "SELECT *  FROM arkiv ORDER BY id DESC", myConn
end if
%>
Avatar billede keysersoze Guru
05. juni 2010 - 11:45 #19
svar :)

Nu kender jeg selvfølgelig ikke det store samlede billede i din kode - men hvis ovenstående er én samlet kode behøver du ikke definere og åbne MyConn to gange og husk også at lukke din objekter og connections.
Avatar billede Slettet bruger
05. juni 2010 - 15:16 #20
Det er et uddrag, jeg synes det skulle være nok til at I kunne se meningen :)

Tak for hjælpen.
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