Howdy, Stranger!

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

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

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!
«13

Comments

  • FlakesFlakes Posts: 642Member
    : 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]
  • Lego614Lego614 Posts: 32Member
    : : 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]
  • FlakesFlakes Posts: 642Member
    : : : 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]
  • Lego614Lego614 Posts: 32Member
    : : : : 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.

  • FlakesFlakes Posts: 642Member
    : : : : : 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.

  • Lego614Lego614 Posts: 32Member
    : : : : : : 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?
  • FlakesFlakes Posts: 642Member
    Did you try the other code I posted?
  • Lego614Lego614 Posts: 32Member
    : 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)
  • FlakesFlakes Posts: 642Member
    : : : : : : : 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?
  • Lego614Lego614 Posts: 32Member
    : : : : : : : : 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....
«13
Sign In or Register to comment.