Maison  >  Article  >  Java  >  Pourquoi ne puis-je pas utiliser `executeQuery()` pour la manipulation de données dans MySQL ?

Pourquoi ne puis-je pas utiliser `executeQuery()` pour la manipulation de données dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 00:14:02733parcourir

Why Can't I Use `executeQuery()` for Data Manipulation in MySQL?

Comprendre « Impossible d'émettre des instructions de manipulation de données avec executeQuery() » : manipulation de données vs récupération de données

Lorsque vous travaillez avec une gestion de base de données relationnelle (SGBDR) comme MySQL, il est essentiel de comprendre la distinction entre les opérations de manipulation de données et les opérations de récupération de données. Les opérations de manipulation de données, telles que INSERT, UPDATE ou DELETE, modifient les données de la base de données, tandis que les opérations de récupération de données, telles que SELECT, récupèrent les données de la base de données.

Le message d'erreur "Impossible d'émettre des instructions de manipulation de données withexecuteQuery()" indique que vous avez tenté d'exécuter une requête de manipulation de données (c'est-à-dire une requête qui modifie les données) à l'aide de la méthodeexecuteQuery(), destinée aux opérations de récupération de données.

executeQuery( ) vsexecuteUpdate() pour la manipulation des données

Afin de manipuler des données dans MySQL à l'aide de JDBC, vous devez utiliser la méthode executeUpdate() au lieu d'executeQuery(). La méthodeexecuteUpdate() est spécifiquement conçue pour exécuter des requêtes qui modifient les données de la base de données.

La méthodeexecuteUpdate() renvoie une valeur entière représentant le nombre de lignes affectées par la requête, tandis que la méthodeexecuteUpdate() renvoie un objet ResultSet contenant les données récupérées.

Exemple d'utilisation

Voici un exemple de la façon d'exécuter une requête de manipulation de données à l'aide d'executeUpdate() :

<code class="java">Statement statement = connection.createStatement();
int rowsUpdated = statement.executeUpdate("UPDATE tableA SET name='John' WHERE id=1");</code>

Informations supplémentaires

  • La méthode execute() peut être utilisée pour exécuter tout type de requête, y compris les requêtes de manipulation et de récupération de données. Cependant, il est recommandé d'utiliser executeUpdate() pour la manipulation des données et executeQuery() pour les opérations de récupération de données pour plus de clarté.
  • Certaines requêtes de récupération de données peuvent également mettre à jour les données indirectement, comme une requête SELECT avec une clause LIMIT. Dans de tels cas, la méthodeexecuteUpdate() est toujours recommandée pour des raisons de lisibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn