Avatar billede pepsiman Juniormester
07. februar 2008 - 10:32 Der er 22 kommentarer og
2 løsninger

problem med ADODB.Connection

hej.

jeg har opretter login.mdb fra MS acces 2003.

jeg vil bare klik på "admin" i mit hjemmside,det komme bedskedfejl:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/loginind.asp, line 4

Conn = Server.CreateObject("ADODB.Connection");
----------------------------------------------^


sådan ser det ud i mit asp-kode:

<%
Conn = Server.CreateObject("ADODB.Connection");
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("login.mdb"));
%>

hvordan åbener jeg sider ved klik på "admin" for næste sider er indhold brugsnavn og adgangskode.

På forhånden tak
Avatar billede keysersoze Guru
07. februar 2008 - 21:18 #1
Set Conn = Server.CreateObject("ADODB.Connection");
Avatar billede pepsiman Juniormester
07. februar 2008 - 22:47 #2
det virker ikke.
Avatar billede keysersoze Guru
08. februar 2008 - 00:07 #3
ah - havde ikke set at det var javascript. Jeg kender intet til javascriptens syntaks men et gæt er at det så skal se sådan ud;

var Conn = Server.CreateObject("ADODB.Connection");
Avatar billede olebole Juniormester
08. februar 2008 - 01:07 #4
<ole>

Prøv:
    var oDbConn = new ActiveXObject("ADOBD.Connection");
    oDbConn.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=login.mdb");

/mvh
</bole>
Avatar billede olebole Juniormester
08. februar 2008 - 01:08 #5
- ikke en ADO batadase ... hehe  :)
    var oDbConn = new ActiveXObject("ADODB.Connection");
Avatar billede arne_v Ekspert
08. februar 2008 - 02:04 #6
Jeg har kode der er set virke med:

var con = Server.CreateObject("ADODB.Connection");
Avatar billede olebole Juniormester
08. februar 2008 - 14:42 #7
Arne >> det kommer anpå, hvor det skal virke. Hvis det skal virke under JScript, er det ActiveXObject, der skal anvendes  :)
Avatar billede pepsiman Juniormester
09. februar 2008 - 09:36 #8
hej alle. jeg prøver det
Avatar billede pepsiman Juniormester
09. februar 2008 - 10:30 #9
Kære olebole og arne.
det virker ikke.. hmm

ok, jeg åbene hele sider med asp-kode:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="Connections/loginind.asp" -->
<%
Conn = Server.CreateObject("ADODB.Connection");
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("login.mdb"));
%>
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString <> "" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
MM_valUsername = CStr(Request.Form("navntext"))
If MM_valUsername <> "" Then
  Dim MM_fldUserAuthorization
  Dim MM_redirectLoginSuccess
  Dim MM_redirectLoginFailed
  Dim MM_loginSQL
  Dim MM_rsUser
  Dim MM_rsUser_cmd
 
  MM_fldUserAuthorization = "kodetext"
  MM_redirectLoginSuccess = "tilfoeje.asp"
  MM_redirectLoginFailed = "fejl.asp"

  MM_loginSQL = "SELECT navntext, kodetext"
  If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
  MM_loginSQL = MM_loginSQL & " FROM loginasp WHERE navntext = ? AND kodetext = ?"
  Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
  MM_rsUser_cmd.ActiveConnection = MM_loginind_STRING
  MM_rsUser_cmd.CommandText = MM_loginSQL
  MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 50, MM_valUsername) ' adVarChar
  MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2", 200, 1, 50, Request.Form("kodetext")) ' adVarChar
  MM_rsUser_cmd.Prepared = true
  Set MM_rsUser = MM_rsUser_cmd.Execute

  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>admin</title>
<style type="text/css">
<!--
.style3 {font-size: 16px}
-->
</style>
</head>

<body>
<form id="form1" name="logind" method="POST" action="<%=MM_LoginAction%>">
  <table width="150" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="2" bgcolor="#666666">&nbsp;</td>
    </tr>
    <tr>
      <td><span class="style3">Navn:</span></td>
      <td><input name="navntext" type="text" id="navntext" value="<%=(loginind.Fields.Item("navntext").Value)%>" size="30" /></td>
    </tr>
    <tr>
      <td>kode:</td>
      <td><input name="kodetext" type="password" id="kodetext" value="<%=(loginind.Fields.Item("kodetext").Value)%>" size="30" /></td>
    </tr>
    <tr>
      <td><input type="submit" name="login" id="login" value="login ind" /></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
<p>&nbsp;</p>
</body>
</html>
<%
loginind.Close()
Set loginind = Nothing
%>
Avatar billede pepsiman Juniormester
09. februar 2008 - 18:24 #10
det fungere fint, da min ven var hos mig at hjælpe med at løse det. han er for god til at lave asp-kode.

lukket
Avatar billede thesurfer Nybegynder
09. februar 2008 - 18:27 #11
Som fejlbeskrivelsen fortæller jeg, er der syntax fejl, som man også kan se her:

Conn = Server.CreateObject("ADODB.Connection");
----------------------------------------------^

Den fortæller jeg at der ikke skal være ";", hvilket er korrekt da ";" ikke bruges til at afslutte linier i VBScript.. :-)

Her er et par hints:

1) Microsoft VBScript compilation error

2) <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

:-)
Avatar billede thesurfer Nybegynder
09. februar 2008 - 18:30 #12
Rettelse: "jeg" skulle være "jer"

Jeg giver keysersoze skylden for at få jer til at tro at det var andet end VBScript.. :-)
.. hvilket virker lidt forkert i min bog (at man ikke bruger VBScript i ASP).. Men det er så bare min holdning..
Avatar billede thesurfer Nybegynder
09. februar 2008 - 18:33 #13
Hmm.. der er et eller andet galt ..

Der bruges

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

og

+ "?" +

Hvis man bruger VBScript, skal man bruge: & "?" &

Dette burde vel give fejl: + "?" +
Avatar billede olebole Juniormester
09. februar 2008 - 18:34 #14
- ahaaaaa ... klassikeren: "Læs spørgsmålet!"  ;D
Avatar billede olebole Juniormester
09. februar 2008 - 18:35 #15
thesurfer >> I VB kan både bruge + og & ... det mener jeg også gælder i VBScript?
Avatar billede thesurfer Nybegynder
09. februar 2008 - 18:40 #16
olebole> Jeg mener at jeg fik fejl når jeg (ved et uheld) kom til at bruge "+" i stedet for "&", som man nu gør i JavaScript (klientside)..

En test afslører følgende:

- Ved sammensætning af 2 strenge, kan man både bruge "+" og "&".
- Ved sammensætning af 2 forskellige typer (f.eks. integer og strenge) får man en fejl med "+" ("Typer stemmer ikke overens")

Så det burde virke med både "+" og "&", så længe at begge sider er strenge..
Avatar billede thesurfer Nybegynder
09. februar 2008 - 18:44 #17
Tilføjelse:

- Ved sammensætning af 2 integers (eller andre typer der kan "regnes" med, matematisk), skal man bruge "+" for korrekt resultat (2 + 2 = 4), da "&" vil sætte værdierne sammen som om det var strenge (2 & 2 = 22)
Avatar billede olebole Juniormester
09. februar 2008 - 18:47 #18
- men det anbefales at bruge & til strenge:
    http://msdn2.microsoft.com/en-us/library/kd1e4aey(VS.85).aspx  ;o)
Avatar billede arne_v Ekspert
09. februar 2008 - 22:56 #19
08/02-2008 14:42:50>

Forkert.

Server.CreateObject virker med alle ASP varianter inkl. JScript.
Avatar billede olebole Juniormester
09. februar 2008 - 23:20 #20
Nej, sådan set ikke - men forudsætningen var forkert. Jeg havde blot set, det var i DW-kategorien og overset, der var tale om ASP  ;o)
Avatar billede arne_v Ekspert
10. februar 2008 - 00:56 #21
Bruger man Server.CreateObject  andre steder end i ASP ?
Avatar billede pepsiman Juniormester
10. februar 2008 - 12:53 #22
lukket
Avatar billede olebole Juniormester
10. februar 2008 - 16:10 #23
Arne >> Nej, præcis ikke. Men man bruger 'new ActiveXObject' andre steder end under ASP. I en lokal DB-app i JS - som jeg fejlagtigt troede, der var tale om - vil man skulle instantiere objektet med 'new ActiveXObject'  ;o)
Avatar billede pepsiman Juniormester
11. februar 2008 - 09:39 #24
lukket
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