Error in Databse related code

The code is:
[code]
<%pointsSQL = "SELECT points FROM tblLoginInfo " _
& "WHERE username=" & uname

Set cnnPoints = Server.CreateObject("ADODB.Connection")
cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
& "DBQ=" & Server.MapPath("logindb.mdb"))

Set rstPoints = cnnPoints.Execute(pointsSQL)
'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
%>
[/code]

The Error is:
[quote]
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/lego614/db/login_db.asp, line 84
[/quote]

YES, I did dim the variables/give uname a correct value and YES the database/table exists.

What is wrong with this code!
«1

Comments

  • : The code is:
    : [code]
    : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE username=" & uname
    :
    : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : & "DBQ=" & Server.MapPath("logindb.mdb"))
    :
    : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : %>
    : [/code]
    :
    : The Error is:
    : [quote]
    : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    :
    : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    :
    : /lego614/db/login_db.asp, line 84
    : [/quote]
    :
    : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    :
    : What is wrong with this code!
    :

    My guess is that your username field is a text/varchar field.You need single quotes around string values:
    [code]
    <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE username='" & uname &"'"

    Set cnnPoints = Server.CreateObject("ADODB.Connection")
    cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    & "DBQ=" & Server.MapPath("logindb.mdb"))

    Set rstPoints = cnnPoints.Execute(pointsSQL)

    %>
    [/code]
  • : : The code is:
    : : [code]
    : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE username=" & uname
    : :
    : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : :
    : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : %>
    : : [/code]
    : :
    : : The Error is:
    : : [quote]
    : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : :
    : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : :
    : : /lego614/db/login_db.asp, line 84
    : : [/quote]
    : :
    : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : :
    : : What is wrong with this code!
    : :
    :
    : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : [code]
    : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE username='" & uname &"'"
    :
    : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : & "DBQ=" & Server.MapPath("logindb.mdb"))
    :
    : Set rstPoints = cnnPoints.Execute(pointsSQL)
    :
    : %>
    : [/code]
    :


    OK. The new error messsageis:
    [quote]
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.

    /lego614/db/login_db.asp, line 84
    [/quote]

    The code is now:
    [code]
    <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE 'username='" & uname

    Set cnnPoints = Server.CreateObject("ADODB.Connection")
    cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    & "DBQ=" & Server.MapPath("logindb.mdb"))

    Set rstPoints = cnnPoints.Execute(pointsSQL)
    'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    %>
    [/code]
  • : : : The code is:
    : : : [code]
    : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE username=" & uname
    : : :
    : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : :
    : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : %>
    : : : [/code]
    : : :
    : : : The Error is:
    : : : [quote]
    : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : :
    : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : :
    : : : /lego614/db/login_db.asp, line 84
    : : : [/quote]
    : : :
    : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : :
    : : : What is wrong with this code!
    : : :
    : :
    : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : [code]
    : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE username='" & uname &"'"
    : :
    : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : :
    : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : :
    : : %>
    : : [/code]
    : :
    :
    :
    : OK. The new error messsageis:
    : [quote]
    : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    :
    : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    :
    : /lego614/db/login_db.asp, line 84
    : [/quote]
    :
    : The code is now:
    : [code]
    : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE 'username='" & uname
    :
    : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : & "DBQ=" & Server.MapPath("logindb.mdb"))
    :
    : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : %>
    : [/code]
    :


    You got me wrong there,I meant single quotes around the field *values*,
    not the field *names*

    [code]
    pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE username='" & uname &"'"
    [/code]
  • : : : : The code is:
    : : : : [code]
    : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : & "WHERE username=" & uname
    : : : :
    : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : :
    : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : %>
    : : : : [/code]
    : : : :
    : : : : The Error is:
    : : : : [quote]
    : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : : :
    : : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : : :
    : : : : /lego614/db/login_db.asp, line 84
    : : : : [/quote]
    : : : :
    : : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : : :
    : : : : What is wrong with this code!
    : : : :
    : : :
    : : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : : [code]
    : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE username='" & uname &"'"
    : : :
    : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : :
    : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : :
    : : : %>
    : : : [/code]
    : : :
    : :
    : :
    : : OK. The new error messsageis:
    : : [quote]
    : : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    : :
    : : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    : :
    : : /lego614/db/login_db.asp, line 84
    : : [/quote]
    : :
    : : The code is now:
    : : [code]
    : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE 'username='" & uname
    : :
    : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : :
    : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : %>
    : : [/code]
    : :
    :
    :
    : You got me wrong there,I meant single quotes around the field *values*,
    : not the field *names*
    :
    : [code]
    : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE username='" & uname &"'"
    : [/code]
    :


    That just causes the syntax error:
    [quote]
    Microsoft VBScript compilation error '800a03ea'
    Microsoft VBScript compilation error '800a03ea'

    Syntax error

    /lego614/db/login_db.asp, line 78

    & "WHERE username='" & 'uname'
    -----------------------^
    [quote]

    Did I put the quote in the right area?

    PS.
    In another working part of the script unmae is set as the username that successfully loged in and uname is a variable set at that point.
    All the variables are Dim'ed before the HTML, and far above the script that has the error.

  • : : : : : The code is:
    : : : : : [code]
    : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : & "WHERE username=" & uname
    : : : : :
    : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : :
    : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : %>
    : : : : : [/code]
    : : : : :
    : : : : : The Error is:
    : : : : : [quote]
    : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : : : :
    : : : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : : : :
    : : : : : /lego614/db/login_db.asp, line 84
    : : : : : [/quote]
    : : : : :
    : : : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : : : :
    : : : : : What is wrong with this code!
    : : : : :
    : : : :
    : : : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : : : [code]
    : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : & "WHERE username='" & uname &"'"
    : : : :
    : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : :
    : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : :
    : : : : %>
    : : : : [/code]
    : : : :
    : : :
    : : :
    : : : OK. The new error messsageis:
    : : : [quote]
    : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    : : :
    : : : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    : : :
    : : : /lego614/db/login_db.asp, line 84
    : : : [/quote]
    : : :
    : : : The code is now:
    : : : [code]
    : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE 'username='" & uname
    : : :
    : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : :
    : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : %>
    : : : [/code]
    : : :
    : :
    : :
    : : You got me wrong there,I meant single quotes around the field *values*,
    : : not the field *names*
    : :
    : : [code]
    : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE username='" & uname &"'"
    : : [/code]
    : :
    :
    :
    : That just causes the syntax error:
    : [quote]
    : Microsoft VBScript compilation error '800a03ea'
    : Microsoft VBScript compilation error '800a03ea'
    :
    : Syntax error
    :
    : /lego614/db/login_db.asp, line 78
    :
    : & "WHERE username='" & 'uname'
    : -----------------------^
    : [quote]
    :
    : Did I put the quote in the right area?
    :
    : PS.
    : In another working part of the script unmae is set as the username that successfully loged in and uname is a variable set at that point.
    : All the variables are Dim'ed before the HTML, and far above the script that has the error.
    :
    :

    You could have just copy pasted what I showed and it would have worked...

    Okay,

    What you want in the sql is this :
    [code]
    SELECT points FROM tblLoginInfo WHERE username='somename'
    [/code]

    That somename is what you are passing from the asp page.So you add that value in the sql as:
    [code]
    pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE username='" & somename&"'"
    [/code]


    In your case,the variable name is uname ,so you do:
    [red]
    pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE username='" & uname &"'"
    [/red]

    Just copy paste that line in red and see what happens.

  • : : : : : : The code is:
    : : : : : : [code]
    : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : & "WHERE username=" & uname
    : : : : : :
    : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : :
    : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : : %>
    : : : : : : [/code]
    : : : : : :
    : : : : : : The Error is:
    : : : : : : [quote]
    : : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : : : : :
    : : : : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : : : : :
    : : : : : : /lego614/db/login_db.asp, line 84
    : : : : : : [/quote]
    : : : : : :
    : : : : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : : : : :
    : : : : : : What is wrong with this code!
    : : : : : :
    : : : : :
    : : : : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : : : : [code]
    : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : & "WHERE username='" & uname &"'"
    : : : : :
    : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : :
    : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : :
    : : : : : %>
    : : : : : [/code]
    : : : : :
    : : : :
    : : : :
    : : : : OK. The new error messsageis:
    : : : : [quote]
    : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    : : : :
    : : : : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    : : : :
    : : : : /lego614/db/login_db.asp, line 84
    : : : : [/quote]
    : : : :
    : : : : The code is now:
    : : : : [code]
    : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : & "WHERE 'username='" & uname
    : : : :
    : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : :
    : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : %>
    : : : : [/code]
    : : : :
    : : :
    : : :
    : : : You got me wrong there,I meant single quotes around the field *values*,
    : : : not the field *names*
    : : :
    : : : [code]
    : : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE username='" & uname &"'"
    : : : [/code]
    : : :
    : :
    : :
    : : That just causes the syntax error:
    : : [quote]
    : : Microsoft VBScript compilation error '800a03ea'
    : : Microsoft VBScript compilation error '800a03ea'
    : :
    : : Syntax error
    : :
    : : /lego614/db/login_db.asp, line 78
    : :
    : : & "WHERE username='" & 'uname'
    : : -----------------------^
    : : [quote]
    : :
    : : Did I put the quote in the right area?
    : :
    : : PS.
    : : In another working part of the script unmae is set as the username that successfully loged in and uname is a variable set at that point.
    : : All the variables are Dim'ed before the HTML, and far above the script that has the error.
    : :
    : :
    :
    : You could have just copy pasted what I showed and it would have worked...
    :
    : Okay,
    :
    : What you want in the sql is this :
    : [code]
    : SELECT points FROM tblLoginInfo WHERE username='somename'
    : [/code]
    :
    : That somename is what you are passing from the asp page.So you add that value in the sql as:
    : [code]
    : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE username='" & somename&"'"
    : [/code]
    :
    :
    : In your case,the variable name is uname ,so you do:
    : [red]
    : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : & "WHERE username='" & uname &"'"
    : [/red]
    :
    : Just copy paste that line in red and see what happens.
    :
    :


    Alright. That code wasbeing bad, so I found a new snippet.
    [code]
    <%
    ' Declare our variables... always good practice!
    Dim cnnSimple ' ADO connection
    Dim rstSimple ' ADO recordset
    Dim strDBPath ' path to our Access database (*.mdb) file


    ' MapPath of virtual database file path to a physical path.
    ' If you want you could hard code a physical path here.
    strDBPath = Server.MapPath("logindb.mdb")


    ' Create an ADO Connection to connect to the scratch database.
    ' We're using OLE DB but you could just as easily use ODBC or a DSN.
    Set cnnSimple = Server.CreateObject("ADODB.Connection")

    ' This line is for the Access sample database:
    'cnnSimple.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"

    ' We're actually using SQL Server so we use this line instead:
    cnnSimple.Open "Provider=SQLOLEDB;Data Source=10.2.1.214;" _
    & "Initial Catalog=samples;User Id=samples;Password=password;" _
    & "Connect Timeout=15;Network Library=dbmssocn;"


    ' Execute a query using the connection object. It automatically
    ' creates and returns a recordset which we store in our variable.
    Set rstSimple = cnnSimple.Execute("SELECT points FROM tblLoginInfo Where username=") & uname

    %>
    [/code]

    However, true to form, it does not work.
    The error is
    [quote]
    Microsoft OLE DB Provider for SQL Server error '80004005'

    [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.

    /lego614/db/login_db.asp, line 110
    [/quote]

    What's wrong with this new snippet?
  • Did you try the other code I posted?
  • : Did you try the other code I posted?
    :
    Yes.
    It didn't work with the other code I had - writing the value of the query into a cookie. (Or at least I couldent)
  • : : : : : : : The code is:
    : : : : : : : [code]
    : : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : : & "WHERE username=" & uname
    : : : : : : :
    : : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : : :
    : : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : : : %>
    : : : : : : : [/code]
    : : : : : : :
    : : : : : : : The Error is:
    : : : : : : : [quote]
    : : : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : : : : : :
    : : : : : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : : : : : :
    : : : : : : : /lego614/db/login_db.asp, line 84
    : : : : : : : [/quote]
    : : : : : : :
    : : : : : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : : : : : :
    : : : : : : : What is wrong with this code!
    : : : : : : :
    : : : : : :
    : : : : : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : : : : : [code]
    : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : & "WHERE username='" & uname &"'"
    : : : : : :
    : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : :
    : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : :
    : : : : : : %>
    : : : : : : [/code]
    : : : : : :
    : : : : :
    : : : : :
    : : : : : OK. The new error messsageis:
    : : : : : [quote]
    : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    : : : : :
    : : : : : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    : : : : :
    : : : : : /lego614/db/login_db.asp, line 84
    : : : : : [/quote]
    : : : : :
    : : : : : The code is now:
    : : : : : [code]
    : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : & "WHERE 'username='" & uname
    : : : : :
    : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : :
    : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : %>
    : : : : : [/code]
    : : : : :
    : : : :
    : : : :
    : : : : You got me wrong there,I meant single quotes around the field *values*,
    : : : : not the field *names*
    : : : :
    : : : : [code]
    : : : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : & "WHERE username='" & uname &"'"
    : : : : [/code]
    : : : :
    : : :
    : : :
    : : : That just causes the syntax error:
    : : : [quote]
    : : : Microsoft VBScript compilation error '800a03ea'
    : : : Microsoft VBScript compilation error '800a03ea'
    : : :
    : : : Syntax error
    : : :
    : : : /lego614/db/login_db.asp, line 78
    : : :
    : : : & "WHERE username='" & 'uname'
    : : : -----------------------^
    : : : [quote]
    : : :
    : : : Did I put the quote in the right area?
    : : :
    : : : PS.
    : : : In another working part of the script unmae is set as the username that successfully loged in and uname is a variable set at that point.
    : : : All the variables are Dim'ed before the HTML, and far above the script that has the error.
    : : :
    : : :
    : :
    : : You could have just copy pasted what I showed and it would have worked...
    : :
    : : Okay,
    : :
    : : What you want in the sql is this :
    : : [code]
    : : SELECT points FROM tblLoginInfo WHERE username='somename'
    : : [/code]
    : :
    : : That somename is what you are passing from the asp page.So you add that value in the sql as:
    : : [code]
    : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE username='" & somename&"'"
    : : [/code]
    : :
    : :
    : : In your case,the variable name is uname ,so you do:
    : : [red]
    : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : & "WHERE username='" & uname &"'"
    : : [/red]
    : :
    : : Just copy paste that line in red and see what happens.
    : :
    : :
    :
    :
    : Alright. That code wasbeing bad, so I found a new snippet.
    : [code]
    : <%
    : ' Declare our variables... always good practice!
    : Dim cnnSimple ' ADO connection
    : Dim rstSimple ' ADO recordset
    : Dim strDBPath ' path to our Access database (*.mdb) file
    :
    :
    : ' MapPath of virtual database file path to a physical path.
    : ' If you want you could hard code a physical path here.
    : strDBPath = Server.MapPath("logindb.mdb")
    :
    :
    : ' Create an ADO Connection to connect to the scratch database.
    : ' We're using OLE DB but you could just as easily use ODBC or a DSN.
    : Set cnnSimple = Server.CreateObject("ADODB.Connection")
    :
    : ' This line is for the Access sample database:
    : 'cnnSimple.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
    :
    : ' We're actually using SQL Server so we use this line instead:
    : cnnSimple.Open "Provider=SQLOLEDB;Data Source=10.2.1.214;" _
    : & "Initial Catalog=samples;User Id=samples;Password=password;" _
    : & "Connect Timeout=15;Network Library=dbmssocn;"
    :
    :
    : ' Execute a query using the connection object. It automatically
    : ' creates and returns a recordset which we store in our variable.
    : Set rstSimple = cnnSimple.Execute("SELECT points FROM tblLoginInfo Where username=") & uname
    :
    : %>
    : [/code]
    :
    : However, true to form, it does not work.
    : The error is
    : [quote]
    : Microsoft OLE DB Provider for SQL Server error '80004005'
    :
    : [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
    :
    : /lego614/db/login_db.asp, line 110
    : [/quote]
    :
    : What's wrong with this new snippet?
    :


    Is 10.2.1.214 the IP of you machine?
  • : : : : : : : : The code is:
    : : : : : : : : [code]
    : : : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : : : & "WHERE username=" & uname
    : : : : : : : :
    : : : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : : : :
    : : : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : : : : %>
    : : : : : : : : [/code]
    : : : : : : : :
    : : : : : : : : The Error is:
    : : : : : : : : [quote]
    : : : : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
    : : : : : : : :
    : : : : : : : : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    : : : : : : : :
    : : : : : : : : /lego614/db/login_db.asp, line 84
    : : : : : : : : [/quote]
    : : : : : : : :
    : : : : : : : : YES, I did dim the variables/give uname a correct value and YES the database/table exists.
    : : : : : : : :
    : : : : : : : : What is wrong with this code!
    : : : : : : : :
    : : : : : : :
    : : : : : : : My guess is that your username field is a text/varchar field.You need single quotes around string values:
    : : : : : : : [code]
    : : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : : & "WHERE username='" & uname &"'"
    : : : : : : :
    : : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : : :
    : : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : : :
    : : : : : : : %>
    : : : : : : : [/code]
    : : : : : : :
    : : : : : :
    : : : : : :
    : : : : : : OK. The new error messsageis:
    : : : : : : [quote]
    : : : : : : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    : : : : : :
    : : : : : : [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''username='Lego614'.
    : : : : : :
    : : : : : : /lego614/db/login_db.asp, line 84
    : : : : : : [/quote]
    : : : : : :
    : : : : : : The code is now:
    : : : : : : [code]
    : : : : : : <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : : & "WHERE 'username='" & uname
    : : : : : :
    : : : : : : Set cnnPoints = Server.CreateObject("ADODB.Connection")
    : : : : : : cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    : : : : : : & "DBQ=" & Server.MapPath("logindb.mdb"))
    : : : : : :
    : : : : : : Set rstPoints = cnnPoints.Execute(pointsSQL)
    : : : : : : 'line 84 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : : : : : : %>
    : : : : : : [/code]
    : : : : : :
    : : : : :
    : : : : :
    : : : : : You got me wrong there,I meant single quotes around the field *values*,
    : : : : : not the field *names*
    : : : : :
    : : : : : [code]
    : : : : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : : : & "WHERE username='" & uname &"'"
    : : : : : [/code]
    : : : : :
    : : : :
    : : : :
    : : : : That just causes the syntax error:
    : : : : [quote]
    : : : : Microsoft VBScript compilation error '800a03ea'
    : : : : Microsoft VBScript compilation error '800a03ea'
    : : : :
    : : : : Syntax error
    : : : :
    : : : : /lego614/db/login_db.asp, line 78
    : : : :
    : : : : & "WHERE username='" & 'uname'
    : : : : -----------------------^
    : : : : [quote]
    : : : :
    : : : : Did I put the quote in the right area?
    : : : :
    : : : : PS.
    : : : : In another working part of the script unmae is set as the username that successfully loged in and uname is a variable set at that point.
    : : : : All the variables are Dim'ed before the HTML, and far above the script that has the error.
    : : : :
    : : : :
    : : :
    : : : You could have just copy pasted what I showed and it would have worked...
    : : :
    : : : Okay,
    : : :
    : : : What you want in the sql is this :
    : : : [code]
    : : : SELECT points FROM tblLoginInfo WHERE username='somename'
    : : : [/code]
    : : :
    : : : That somename is what you are passing from the asp page.So you add that value in the sql as:
    : : : [code]
    : : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE username='" & somename&"'"
    : : : [/code]
    : : :
    : : :
    : : : In your case,the variable name is uname ,so you do:
    : : : [red]
    : : : pointsSQL = "SELECT points FROM tblLoginInfo " _
    : : : & "WHERE username='" & uname &"'"
    : : : [/red]
    : : :
    : : : Just copy paste that line in red and see what happens.
    : : :
    : : :
    : :
    : :
    : : Alright. That code wasbeing bad, so I found a new snippet.
    : : [code]
    : : <%
    : : ' Declare our variables... always good practice!
    : : Dim cnnSimple ' ADO connection
    : : Dim rstSimple ' ADO recordset
    : : Dim strDBPath ' path to our Access database (*.mdb) file
    : :
    : :
    : : ' MapPath of virtual database file path to a physical path.
    : : ' If you want you could hard code a physical path here.
    : : strDBPath = Server.MapPath("logindb.mdb")
    : :
    : :
    : : ' Create an ADO Connection to connect to the scratch database.
    : : ' We're using OLE DB but you could just as easily use ODBC or a DSN.
    : : Set cnnSimple = Server.CreateObject("ADODB.Connection")
    : :
    : : ' This line is for the Access sample database:
    : : 'cnnSimple.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
    : :
    : : ' We're actually using SQL Server so we use this line instead:
    : : cnnSimple.Open "Provider=SQLOLEDB;Data Source=10.2.1.214;" _
    : : & "Initial Catalog=samples;User Id=samples;Password=password;" _
    : : & "Connect Timeout=15;Network Library=dbmssocn;"
    : :
    : :
    : : ' Execute a query using the connection object. It automatically
    : : ' creates and returns a recordset which we store in our variable.
    : : Set rstSimple = cnnSimple.Execute("SELECT points FROM tblLoginInfo Where username=") & uname
    : :
    : : %>
    : : [/code]
    : :
    : : However, true to form, it does not work.
    : : The error is
    : : [quote]
    : : Microsoft OLE DB Provider for SQL Server error '80004005'
    : :
    : : [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
    : :
    : : /lego614/db/login_db.asp, line 110
    : : [/quote]
    : :
    : : What's wrong with this new snippet?
    : :
    :
    :
    : Is 10.2.1.214 the IP of you machine?
    :



    No....
  • So that is ONE of the errors.

    I think you better read up a bit on database connectivity from asp.

    Try www.w3schools.com

    and try to get a book on ASP too.
  • : So that is ONE of the errors.
    :
    : I think you better read up a bit on database connectivity from asp.
    :
    : Try www.w3schools.com
    :
    : and try to get a book on ASP too.
    :

    I plan to use that to perfect it, but this is my first time using databases, and I am new to cookies, so could you point me in the right direction?
  • Ok.Lets start from scratch.Tell me,which datatabase are you using,access or SQL Server?First you were showing connecting to Access,then suddenly it became SQL Server?

    Post the code which you are now using,and the exact error message.We will take it from there.
  • : Ok.Lets start from scratch.Tell me,which datatabase are you using,access or SQL Server?First you were showing connecting to Access,then suddenly it became SQL Server?
    :
    : Post the code which you are now using,and the exact error message.We will take it from there.
    :

    Okay.
    I am connecting to a access database wit hthe following collumns:
    username - a 15 length string
    password - a 15 leingth string
    points - an intiger.

    I copied some code for the username/password verification/assigning uname to the username and writing the username cookie. That part works without any errors. The next part is I want a cookie that is a number that is the points, so opperations can be done on it from multiple pages/forms. I would like to go about this any way possible, preferably the first set of code that I posted, as that is the same code (with small variable modifications) that succeded for the username/login
  • : : Ok.Lets start from scratch.Tell me,which datatabase are you using,access or SQL Server?First you were showing connecting to Access,then suddenly it became SQL Server?
    : :
    : : Post the code which you are now using,and the exact error message.We will take it from there.
    : :
    :
    : Okay.
    : I am connecting to a access database wit hthe following collumns:
    : username - a 15 length string
    : password - a 15 leingth string
    : points - an intiger.
    :
    : I copied some code for the username/password verification/assigning uname to the username and writing the username cookie. That part works without any errors. The next part is I want a cookie that is a number that is the points, so opperations can be done on it from multiple pages/forms. I would like to go about this any way possible, preferably the first set of code that I posted, as that is the same code (with small variable modifications) that succeded for the username/login
    :


    Copy paste the following code to your first version(I hope you know where to paste it..),ans see what happens.
    [code]
    <%pointsSQL = "SELECT points FROM tblLoginInfo " _
    & "WHERE username='" & uname & "'"

    Set cnnPoints = Server.CreateObject("ADODB.Connection")
    cnnPoints.Open("DRIVER={Microsoft Access Driver (*.mdb)};" _
    & "DBQ=" & Server.MapPath("logindb.mdb"))

    Set rstPoints = cnnPoints.Execute(pointsSQL)
    %>
    [/code]
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories