Comment utiliser la requête d'insertion à l'aide des paramètres?
Quand j'ai essayer avec cette requête, j'obtiens un message d'erreur indique que Perameter e-mail n'existe pas, je suis sûr que les variables : e-mail, login_pass, payment_method,operateur sont valides et existe.
SQLQuery2.sql.Text := 'INSERT INTO registered (email,login_pass,payment_method,operateur) VALUES (":email",":login_pass",":payment_method",":avecpuce")';
SQLQuery2.ParamByName('email').AsString := email;
SQLQuery2.ParamByName('login_pass').AsString := login_pass;
SQLQuery2.ParamByName('payment_method').AsString := payment_method;
SQLQuery2.ParamByName('avecpuce').AsString := avecpuce;
SQLQuery2.ExecSQL(true);
J'ai essayé de la suppression de la citation, mais je reçois
Vous avez une erreur dans votre syntaxe Sql, consultez le manuel qui correspond à votre serveur SQL server pour la bonne syntaxe à utiliser près de
':email,:login_pass,:payment_method,:avecpuce)' à la ligne 1
Comment utiliser la requête d'insertion ci-dessus à l'aide de paramètres?
- Ce type de base de données, vous vous connectez à? Est-il MySql, SQL Server, etc?
- Ce type est SQLQuery2 - est-il un TQuery ou un TADOQuery?
- pas Tquery ni Tadoquery c'est TSQLQuery. @codeulike
Vous devez vous connecter pour publier un commentaire.
De la TSQLQuery.ExecSQL documentation:
Donc, si le code utilise
cela signifie qu'il n'y aura pas de support pour les paramètres.
Mais parce que vous utilisez des paramètres, il suffit d'utiliser
et aussi enlever les guillemets autour des paramètres.
Supprimer les guillemets:
Vous n'avez pas l'habitude de citer des paramètres, des valeurs littérales. Ainsi, au lieu de:
Essayer:
Trouvé la réponse !
Merci À Tous !!
Vous ne devriez pas utiliser des guillemets autour du nom du paramètre.
Paramètres sont automatiquement générés pour vous si votre TSQLQuery dispose d'une connexion attribué et ParamCheck est vrai, et vous vous attribuez TSQLQuery.CommandText.
Il ne sera pas générer les paramètres lorsque vous affectez la requête de TSQLQuery.SQL.Texte.
Vous pouvez avoir les paramètres généré par l'appel de TSQLQuery.Params.ParseSQL:
Ou vous pouvez les ajouter vous-même en appelant TSQLQuery.Params.AddParameter.