Insérer à l'aide de PreparedStatement. Comment puis-je auto-incrément de la carte d'identité?
J'ai un PreparedStatement tels que:
PreparedStatement preparedStatement = connect.prepareStatement("INSERT into employee (id, time, name" + "(?,?,?)",Statement.RETURN_GENERATED_KEYS);
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
preparedStatement.executeUpdate();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
preparedStatement.setInt(1,autoGeneratedID);
preparedStatement.setTimestamp(2, new java.sql.Timestamp(new java.util.Date().getTime()));
preparedStatement.setString(3, "Test");
preparedStatement.executeUpdate();
Comme vous pouvez le voir, la table Employee a une auto-incrémenté ID. J'ai besoin pour l'ajouter automatiquement à l'aide preparedStatement. Quelqu'un peut-il me dire où je vais mal et me corriger? Droit maintenant, il me donne une erreur relative à la Déclaration.
OriginalL'auteur gran_profaci | 2013-07-03
Vous devez vous connecter pour publier un commentaire.
Quitter la colonne à partir de la
INSERT
déclaration entièrement. Il sera généré par le moteur de base de données. Votre requête doit être:Deuxièmement, vous devez effectuer les insérer d'abord, puis obtenir les clés de la suite.
Je crois que votre code doit être:
Remarque: cet exemple ne permet pas de vérifier le succès de la déclaration ou de l'existence d'retourné clés.
insert into mytbl(str1, str2) values ('Example', ?)
et puisps.setString(1,"String2")
ou nous devons utiliserps.setString(2,"String2")
? 🙂Bien sûr, vous pouvez l'essayer, mais il serait paramètre 1 parce que c'est le premier paramètre de la requête.
merci monsieur 🙂
OriginalL'auteur lc.
voici mon code pour l'auto-incrémentation de la colonne dans le tableau par PreparedStatement.
OriginalL'auteur Navit Antil