Avatar billede knisse Nybegynder
25. april 2001 - 09:47 Der er 10 kommentarer og
1 løsning

DB connection skrevet i @language = javascript

Jeg angiver i toppen af siden at jeg vil skrive min asp i javascript, men alligevel kan jeg ikke få adgang til min db. Hvad er problemet?

Jeg får denne fejl hvis det hjælper noget:
Der opstod en Microsoft JScript-kompileringsfejl error \'800a03ec\'

Tegnet \';\' var ventet

myConn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & MdbFilePath & \";\";
------------^
Her er min kode.

<%
var myConn = Server.CreateObject(\"ADODB.Connection\");
var mdbFilePath = Server.MapPath(\"projectplan.mdb\");
var theSQL = \"SELECT * FROM project\";
var recordSet;
   
myConn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & MdbFilePath & \";\";
recordSet = myConn.Execute(theSQL);
%>
Avatar billede knisse Nybegynder
25. april 2001 - 10:03 #1
Beklager,
jeg har selv fundet løsningen på mit problem.

//knisse
Avatar billede knisse Nybegynder
25. april 2001 - 15:51 #2
... hej igen.
Jeg har ændret min myConn til myConn.Open = \"Driver...\", og umiddelbart så det ud til at virke, men nu får jeg denne fejl:
Der opstod en Microsoft JScript-kørselsfejl error \'800a01b6\'

Objektet understøtter ikke denne egenskab eller metode

Og der er en ref til linien hvor myConn.Open er.

Er der nogen der kan svare mig på hvorfor dette ikke kan lade sig gøre alligevel, og hvor fejlen ligger?

//knisse
Avatar billede madshenrik Nybegynder
26. april 2001 - 10:01 #3
Hej Knisse.

Når jeg kommer hjem kan jeg lige poste en færdig forbindelse. Men indtil da så skal du ikke bruge & når det er Jscript men + i stedet.

Mads
Avatar billede madshenrik Nybegynder
26. april 2001 - 10:04 #4
Knisse

Jeg tror dit spørgsmål to skyldes at open er en metode der i Jscript skal kaldes på denne måde, så vidt jeg husker.
open(parametre1, parametre1, osv);

Mads
Avatar billede knisse Nybegynder
27. april 2001 - 09:59 #5
Mads

har du haft tid til at kigge på det?
Avatar billede madshenrik Nybegynder
27. april 2001 - 10:55 #6
Her er en forbindelse til access som skulle virke.

strconn =\"DBQ=\" + Server.Mappath (\"Password.mdb\")+ \"; driver={Microsoft access driver (*.mdb)}\";
Conn = Server.CreateObject(\"ADODB.Connection\");
Conn.open (strconn);

Det ovenstående kode har skabt forbindelsen til databasen det næste oprette og udfører så et sql statement.

sql = \"sql statement\";
rs = Server.CreateObject(\"ADODB.RecordSet\");
rs.Open(sql, Conn, adOpenKeyset);

Nu har du så et recordset med et resultat af sql statementet. Et eks. på hvordan du kan hente den data kan så være følgende. Dog skal det siges at hvis du vælger at benytte adOpenKeyset skal du include følgende <!---#include file=\"adojavas.inc\"-->.

while (! (rs.eof)){
variabel = String(rs.fields.item(\"id\"));
rs.move(1);
}

Hvor id er et navn på en attribut i sql statementet eller det der svarer til en kolonne.


Mads


Avatar billede knisse Nybegynder
27. april 2001 - 11:37 #7
Du skriver at hvis jeg vælger at benytte adOpenKeySet, hvad har jeg af alternativer? er adOpenKeySet et reserveret ord som CreateObject er det?

//knisse
Avatar billede madshenrik Nybegynder
27. april 2001 - 12:19 #8
adojavas.inc er en fil der giver dig yderligere muligheder for at arbejde med dine data i recordset i denne fil er der sat et hav af konstanter og adOpenKeyset er en af dem. Desværre kan jeg ikke huske bestemt hvornår det er nødvendigt at benytte sig af adOpenKeyset, da jeg bare bruger den som standard. Men så vidt jeg husker er det den der giver lov til at bladre sine data igennem eks. på dette kunne være.

while (! (rs.eof)){
res += \"<tr>\";
res += \"<td>\" + String(rs.fields.item(\"Navn\")) + \"</td>\";
res += \"<td>\" + String(rs.fields.item(\"Beskrivelse\")) + \"</td>\";
res += \"<td>\" + \"<p><a href=add.asp?id=\" + String(rs.fields.item(\"ID\")) + \" target=\" + \" \\\"Liste\\\"\" + \">\" + \"Køb produkt\" +  \"</a></p></td>\";
res += \"</tr>\";
rs.move(1);
}

Hvor man har en pointer som flyttes en frem hvergang rs.move(1); udføres.

Svaret på dit spørgsmål må være at du ikke behøver at du kan nøjes med rs.Open(sql, Conn);
men jeg tror du vil komme ud for at du skal bruge include filen.
Jeg kan sende den til dig, hvis du vil have den. Men ellers prøv om du kan få det til at virke i første omgang. 

Mads
Avatar billede knisse Nybegynder
27. april 2001 - 12:56 #9
Jeg satte asp´en ind og ændrede refen til msb´en, men jeg får flg. fejl:
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.

Jeg har ikke nogen ide om hvad fejlen er. Jeg har ikke brugt .inc.

//knisse
Avatar billede madshenrik Nybegynder
27. april 2001 - 15:12 #10
Hvor og hvordan afvikler du scriptet.

Mads
Avatar billede madshenrik Nybegynder
27. april 2001 - 15:13 #11
Husk at databasen skal ligge i roden sammen med scriptet.

mads
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