Maison  >  Questions et réponses  >  le corps du texte

java - 对于 PreparedStatement ,executeQuery() 不能带有参数的错误

PHP中文网PHP中文网2741 Il y a quelques jours573

répondre à tous(4)je répondrai

  • PHP中文网

    PHP中文网2017-04-18 09:25:18

    Le processus d'utilisation de PrepareStatement est le suivant :

    1. Utiliser l'instanciation SQL d'espace réservé

    2. Appelez la méthode bindXX pour terminer la liaison des paramètres

    3. Appelez la méthodeexecuteUpdate ouexecuteQuery. Aucun paramètre n'est transmis ici car les paramètres sont traités aux étapes 1 et 2.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:25:18

    Vous avez déjà transmis le code SQL à pst ci-dessus. Pourquoi devez-vous le transmettre à execuQuery ?

    répondre
    0
  • 怪我咯

    怪我咯2017-04-18 09:25:18

    Votre psr.executeQuery(sql), vous avez déjà passé les paramètres pour obtenir le jeu de résultats, il n'est plus nécessaire de passer les paramètres,

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:25:18

    La classe PreparedStatement est utilisée pour préparer les instructions SQL.
    Par exemple :
    `ResultSet rs = null;
    PreparedStatement loginStatement =

               sqlDAO.sqlConnection().prepareStatement("SELECT username,password FROM user_table WHERE username = ? AND password = ?");
            loginStatement.setString(1, username);
            loginStatement.setString(2, password);
            rs = loginStatement.executeQuery();`
    

    ? Représentant des espaces réservés, nous pouvons utiliser des méthodes telles que setString(int, String) pour définir les valeurs des espaces réservés. Le paramètre int est le numéro d'espace réservé (notez qu'il ne commence pas à 0, c'est le nombre mathématique). Le deuxième paramètre indique que nous allons remplacer l'espace réservé correspondant (?) par la valeur. Cela peut empêcher l’injection de SQL dans notre base de données. Il convient de noter que le mot-clé de l'instruction SQL ne peut pas être remplacé par un espace réservé , car l'espace réservé encapsulera automatiquement la chaîne que nous spécifions entre guillemets simples, provoquant l'échec de l'exécution de l'instruction SQL. Consultez le code du téléphone portable

    répondre
    0
  • Annulerrépondre