Nu orkar jag inte läsa igenom allt, men en sak som kan vara intressant är att se värdet av MM_editQuery. Så om du lägger till detta
response.write MM_editQuery
och visar resultatet.
------------------
essentitia preter non sans multiplicandum
13 svar · 133 visningar · startad av larsson
Vad är det för fel .... den är byggd i Macromedia UltraDev 4.0 och ska skicka till databas. Rad 90 är med fet stil.
Hoppas att det är någon som har något bra förslag.:)
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.
/ladda.asp, rad 90
:q
Koden är :
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/sanda.asp" -->
<%
' *** Edit Operations: declare variables
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & 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")) <> "") Then
MM_editConnection = MM_sanda_STRING
MM_editTable = "Kunder"
MM_editRedirectUrl = ""
MM_fieldsStr = "Foretagsnamn|value|ForNamn|value|EfterNamn|value|Adress|value|Postnummer|value|Ort|value|Land|value|TelefonBostad|value|TelArbete|value|Mobiltelefon|value|Fax|value|Epostnamn|value|Anteckningar|value"
MM_columnsStr = "Foretagsnamn|',none,''|ForNamn|',none,''|EfterNamn|',none,''|Adress|',none,''|Postnummer|',none,''|Ort|',none,''|Land|',none,''|TelefonBostad|',none,''|TelArbete|',none,''|Mobiltelefon|',none,''|Fax|',none,''|E-postnamn |',none,''|Anteckningar|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(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
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & 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
[b]MM_editCmd.Execute[/b]
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
Nu orkar jag inte läsa igenom allt, men en sak som kan vara intressant är att se värdet av MM_editQuery. Så om du lägger till detta
response.write MM_editQuery
och visar resultatet.
------------------
essentitia preter non sans multiplicandum
Här kommer resten av kod på sidan.
Hoppas att det kan hjälpa.
:q
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCFFCC" text="#000000">
<form method="post" action="<%=MM_editAction%>" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Foretagsnamn:</td>
<td>
<input type="text" name="Foretagsnamn" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">ForNamn:</td>
<td>
<input type="text" name="ForNamn" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">EfterNamn:</td>
<td>
<input type="text" name="EfterNamn" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Adress:</td>
<td>
<input type="text" name="Adress" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Postnummer:</td>
<td>
<input type="text" name="Postnummer" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Ort:</td>
<td>
<input type="text" name="Ort" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Land:</td>
<td>
<input type="text" name="Land" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">TelefonBostad:</td>
<td>
<input type="text" name="TelefonBostad" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">TelArbete:</td>
<td>
<input type="text" name="TelArbete" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Mobiltelefon:</td>
<td>
<input type="text" name="Mobiltelefon" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Fax:</td>
<td>
<input type="text" name="Fax" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">E-postnamn:</td>
<td>
<input type="text" name="Epostnamn" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Anteckningar:</td>
<td>
<input type="text" name="Anteckningar" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td>
<input type="submit" value="Insert Record">
</td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="true">
</form>
<p> </p>
</body>
</html>
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
Nej, den är helt ointressant. Det är främst insert-satsen som jag vill se.
------------------
essentitia preter non sans multiplicandum
Förstod nästan det..
Kan det vara denna du är ute efter ?
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
Det är all kod på sidan som är ute, här.
Eller ska den ligga på någon annan sida ?
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
Nja, inte riktigt. Det är innehållet i variabeln som jag vill se
response.write MM_editQuery
Kan du lägga till den koden innan
MM_editCmd.Execute
och visa vad resultatet av utskriften blir?
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 13 nov 2001]
Hmmm.. Det är all kod som ligger i första inlägget.
Och utskriften blir när jag ska skickar iväg formuläret till databasen (access):
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.
/ladda.asp, rad 90
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
kan det vara den koden som du frågar efter som saknas och gör att det inte funkar ?
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
Ok, du förstår inte vad LarsG menar, känns det som. Låt mig göra ett försök. :)
För att vi ska kunna se vad som är galet, så vill vi se den slutgiltiga SQL-frågan, alltså efter det att alla variablers värden lagts till i den.
Om du innan den raden du fetmarkerade i ditt första inlägg, lägger till den raden som LarsG visade, så borde du få en utskrift av den färdiga SQL-frågan till din webbläsare. Den utskriften skulle vi vilja se.
Förstår du?
Mvh,
------------------
All your base are belong to me.
Koden skapar ju ett insert-statement som lagras i variabeln MM_editQuery och det är det statementet som jag vill se hur det ser ut.
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
response.write MM_editquery
response.end
Om du lägger till den koden så kommer det att skrivas ut på din sida hur insert-statementet ser ut och det är det jag vill se.
------------------
essentitia preter non sans multiplicandum
Nu kanske jag har fått fram det ni vill se.
insert into Kunder (Foretagsnamn,ForNamn,EfterNamn,Adress,Postnummer,Ort,Land,TelefonBostad,TelArbete,Mobiltelefon,Fax,E-postnamn,Anteckningar) values ('test','test','test','test','test','test','test','test','test','test','test','test','test')
Skrev "test" i alla text-rutor.
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~
Jo, det är mycket enklare att se vad som är fel.
Problemet är att du har en kolumn i din tabell som heter E-postnamn.
Om du använder - i ett namn så kommer det att tolkas som minus i SQL. (Dvs e minus postnamn.)
Antingen kan du byta namn på kolumnen eller så får du ange den inom []
MM_columnsStr = "Foretagsnamn|',none,''|ForNamn|',none,''|EfterNamn|',none,''|Adress|',none,''|Postnummer|',none,''|Ort|',none,''|Land|',none,''|TelefonBostad|',none,''|TelArbete|',none,''|Mobiltelefon|',none,''|Fax|',none,''|[E-postnam n] |',none,''|Anteckningar|',none,''"
I och för sig skall du kanske inte ändra i den här koden utan i ultradev/MM. (Nu vet jag inte hur det ser ut i UD/MM.)
------------------
essentitia preter non sans multiplicandum
Tack så mycket LarsG , ska testa det imorron.
Man lär sig alltid något nytt varje dag genom detta forum.
------------------
~~ kanske inte ännu, men snart så funkar det :- ) ~~