| Welcome to Webforumz.com. |
|
Jan 23rd, 2008, 17:44
|
#1 (permalink)
|
|
New Member
Join Date: Dec 2007
Location: Los Angeles
Posts: 4
|
[SOLVED] Getting the "Microsoft JET Database Engine error '80040e14'" error.
Hi all, I'm getting this error on my ASP page from my site:
- HTML: Select all
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
/adfront.asp, line 115
Digging around on various other boards suggest that there may be reserved keywords used in the Access Database that the ASP file is writing too or that the value of the ASP field contains ' and some suggest that all the fields in the ASP form be populated well, none of those solutions apply to my problem unfortunatly. My ASP code was developed in DreamWeaver and I have attached it below, I have marked line 115.
- Code: Select all
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/access_MySite.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "form1") Then
MM_editConnection = MM_access_MySite_STRING
MM_editTable = "tblMyPage"
MM_editRedirectUrl = "MyPage.asp"
MM_fieldsStr = "txtCon|value|txtHead|value|txtNews|value|txtImage|value"
MM_columnsStr = "Contributor|',none,''|HeadLine|',none,''|News|',none,''|Image|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute <================= This is line 115
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim rstAdNews
Dim rstAdNews_numRows
Set rstAdNews = Server.CreateObject("ADODB.Recordset")
rstAdNews.ActiveConnection = MM_access_Dogz_STRING
rstAdNews.Source = "SELECT * FROM tblMyPage"
rstAdNews.CursorType = 0
rstAdNews.CursorLocation = 2
rstAdNews.LockType = 1
rstAdNews.Open()
rstAdNews_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<form name="form1" method="POST" action="<%=MM_editAction%>">
<p>
<input name="txtCon" type="text" id="txtCon">
</p>
<p>
<input name="txtHead" type="text" id="txtHead">
</p>
<p>
<textarea name="txtNews" cols="60" rows="8" id="txtNews"></textarea>
</p>
<p> </p>
<p>
<input name="txtImage" type="text" id="txtImage" size="30">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
<p> </p>
<input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>
<%
rstAdNews.Close()
Set rstAdNews = Nothing
%>
Any help or advice is greatly appreciated !
Last edited by Monie; Jan 23rd, 2008 at 23:51.
Reason: Adding the [code] and [html] tag...
|
|
|
Jan 24th, 2008, 00:06
|
#2 (permalink)
|
|
Most Reputable Member
Join Date: Feb 2004
Location: Borneo
Age: 27
Posts: 1,567
|
Re: Getting the "Microsoft JET Database Engine error '80040e14'" error.
Quote:
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
|
- This could be from using a reserved word as a column or expression name
- Or it could be a real syntax error.
- Or, it could be that you are trying to send a batch of statements to Access. While the following will work with SQL Server, Jet prohibits it.
I think, it is most probably some syntax error!
I am sure that you've just learn programming since that you are using this AUTO GENERATED codes.
I admit it that I used that program too (Dreamweaver) when I starts learning programming languages like ASP.
My point is, using that so called "auto generated codes" from DW, it is pointless! You'll never know what went wrong with your codes or what they do!
I suggest that you learn the easiest way by hard/hand coded them from scratch, I promises you it will be fun...
For that, I'll give you some of the basic ASP/Access Database Tutorial that I found might helps you with it.... - ASP/Access Database
- My Sticky Tutorial
Cheers...
__________________
Last edited by Monie; Jan 24th, 2008 at 00:26.
|
|
|
Jan 25th, 2008, 23:41
|
#3 (permalink)
|
|
New Member
Join Date: Dec 2007
Location: Los Angeles
Posts: 4
|
Re: Getting the "Microsoft JET Database Engine error '80040e14'" error.
Thanks Monie.
By following your tutorial I was able to create a page that allows me to update my data AND view the file in Dreamweaver too. It also assured me that I am able to update the Access mdb, something I was begining to wonder if GoDaddy had put some over protective security in place !
Thanks again !
|
|
|
Jan 26th, 2008, 00:12
|
#4 (permalink)
|
|
Most Reputable Member
Join Date: Feb 2004
Location: Borneo
Age: 27
Posts: 1,567
|
Re: Getting the "Microsoft JET Database Engine error '80040e14'" error.
Well, great news that you've learn something new! Anyway, it's not my tutorial, it's just a link that I used to learn back in my first time when I started to learn ASP.
If you happen to encounter any problem in the future, feel free to drop by in here again for all your answer and I will try my best to help you.
I'll mark this thread as solved then
Cheers...
__________________
|
|
|
| Thread Tools |
|
|
| Rate This Thread |
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|