"Microsoft VBScript runtime error '800a000d' '800a000d'
Habe ich den nächsten code, der wie folgt funktioniert:
- Erhalten einige Parameter aus einer url
- Einfügen dieser Daten in eine Tabelle namens clients
- Dann wähle ich die letzten Daten eingeführt, in der clients-Tabelle
- Endlich, es versucht, legen Sie diese Daten in eine andere Tabelle namens Benutzer.
Aber ich bin immer diese Fehlermeldung:
"Microsoft VBScript runtime error '800a000d' '800a000d'
Typen unverträglich: '[string: "INSERT INTO galileo."]'
/createClient.asp, Zeile 50
Die Linie 50 ist diese:
<%
Dim insertaUsuario
Set insertaUsuario = Server.CreateObject("ADODB.Recordset")
insertaUsuario.ActiveConnection = MM_trucks_STRING
'" + Replace(posicionFechaFin__MMColParam, "'", "''") + "'
insertaUsuario.Source = "INSERT INTO galileo.users (email,password,clientid) values ('"+(selecciona.Fields.Item("email").Value)+"','"+(selecciona.Fields.Item("password").Value)+"', '" + (selecciona.Fields.Item("id").Value)+ "'"
insertaUsuario.Open()
%>
- Und dies ist der vollständige code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="connects/global.asp" -->
<%
Dim inserta__MMColParamEmail
inserta__MMColParamEmail = "1"
If (Request.QueryString("email") <> "") Then
inserta__MMColParamEmail = Request.QueryString("email")
End If
%>
<%
Dim inserta__MMColParamPassword
inserta__MMColParamPasswordd = "1"
If (Request.QueryString("password") <> "") Then
inserta__MMColParamPassword = Request.QueryString("password")
End If
%>
<%
Dim inserta
Set inserta = Server.CreateObject("ADODB.Recordset")
inserta.ActiveConnection = MM_trucks_STRING
'" + Replace(posicionFechaFin__MMColParam, "'", "''") + "'
inserta.Source = "INSERT INTO galileo.clients (email,password) values ('" + Replace(inserta__MMColParamEmail, "'", "''") + "','" + Replace(inserta__MMColParamPassword, "'", "''") + "')"
inserta.Open()
%>
<%
Dim selecciona
Dim selecciona_numRows
Set selecciona = Server.CreateObject("ADODB.Recordset")
selecciona.ActiveConnection = MM_trucks_STRING
selecciona.Source = "SELECT id, email, password from clients where email='" + Replace(inserta__MMColParamEmail, "'", "''") + "' and password='" + Replace(inserta__MMColParamPassword, "'", "''") + "'"
selecciona.CursorType = 0
selecciona.CursorLocation = 2
selecciona.LockType = 1
selecciona.Open()
selecciona_numRows = 0
%>
<%= (selecciona.Fields.Item("id").Value)%>, <%= (selecciona.Fields.Item("email").Value) %>, <%= (selecciona.Fields.Item("password").Value) %>
<%
Dim insertaUsuario
Set insertaUsuario = Server.CreateObject("ADODB.Recordset")
insertaUsuario.ActiveConnection = MM_trucks_STRING
'" + Replace(posicionFechaFin__MMColParam, "'", "''") + "'
insertaUsuario.Source = "INSERT INTO galileo.users (email,password,clientid) values ('"+(selecciona.Fields.Item("email").Value)+"','"+(selecciona.Fields.Item("password").Value)+"', '" + (selecciona.Fields.Item("id").Value)+ "'"
insertaUsuario.Open()
%>
<!--If it is all ok, it redirects-->
<% Response.redirect ("default.asp")%>
InformationsquelleAutor Fran Rod | 2013-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen fehlt a ')' nach dem letzten ' in deinen SQL-string. Aber ich bin nicht sicher, warum Sie diese Art von Fehlermeldung, obwohl.
Die
Source
- Eigenschaft des Recordset SQL-Anweisung, stored-procedure-name, table-name oder ein Command-Objekt. Wenn der Treiber nicht ausgeführt werden, da SQL, Gespeicherte Prozedur, Tabelle oder Namen wird es versuchen zu behandeln, die Quelle als ein Befehl, nur zu finden, es ist tatsächlich ein string ist. Sie können vermeiden, dieses seltsame Verhalten durch den Austausch der gesamten code-block mit einem einfacheninsertaUsuario.Open strSQL, MM_trucks_STRING
nach der Zuweisung der SQL in eine variable. Dies würde Ihnen die einfache Meldung "Fehler Syntax" für Ihre original-code hier ein, da Sie nicht erwarten, dass ein Command-Objekt.InformationsquelleAutor Sander_P