"Erreur d'exécution Microsoft VBScript '800a000d' '800a000d'
J'ai le code suivant qui fonctionne comme suit:
- Recevoir certains paramètres à partir d'une url
- Insérer ces données dans une table appelée clients
- Puis-je choisir les dernières données introduites dans le les clients table
- Enfin, il essaie d'insérer ces données dans une autre table appelée utilisateurs.
Mais j'obtiens cette erreur:
"Erreur d'exécution Microsoft VBScript '800a000d' '800a000d'
Incompatibilité de Type: '[chaîne: "INSÉRER DANS la galilée."]'
/createClient.asp, ligne 50
La ligne 50 est celui-ci:
<%
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()
%>
Et c'est le code complet:
<%@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")%>
OriginalL'auteur Fran Rod | 2013-03-17
Vous devez vous connecter pour publier un commentaire.
Il vous manque un ')' après le dernier " dans votre chaîne SQL. Mais je ne suis pas sûr de savoir pourquoi vous obtenez ce genre de message d'erreur.
Le
Source
propriété du jeu d'enregistrements peut être de l'instruction SQL, le nom de la procédure stockée, le nom de la table ou un objet de Commande. Lorsque le conducteur ne parvient pas à exécuter SQL, Procédure Stockée ou le nom de la table, elle va essayer de traiter la source comme une commande juste pour savoir c'est en fait une chaîne de caractères. Vous pouvez éviter ce comportement bizarre, par le remplacement de l'ensemble du bloc de code avec un simpleinsertaUsuario.Open strSQL, MM_trucks_STRING
après l'attribution du SQL dans une variable. Ce serait vous donner simple "erreur de Syntaxe" message de votre code original ici, puisqu'il ne vous attendez pas à un objet de Commande.OriginalL'auteur Sander_P