Question

Avoir une liaison table (ou ref), qui a une double clé primaire. La nécessité de revenir la dernière clé primaire qui a été généré automatiquement à partir de la connexion en cours dans une table sélectionnée. Ceci est en java. La base de données est en MS Access si cela fait une différence. Désolé pour la description se sont précipités, mais notre équipe travaille à un calendrier serré.

Les liens ou suggestions seraient volontiers appréciées.

EDIT:

La base de données est rempli en utilisant SQL. Nous entrons dans les données d'un formulaire, mais nous ne savons pas le nombre généré automatique. Vous avez besoin de savoir ce que cela était si il peut être entré dans la table ref. Nous savons que la moitié de la clé composite, ce qui est la raison pour laquelle nous avons besoin de la seconde.

Edit:

Re la meilleure réponse à ce jour (cant semblent commentaires). Je reçois l'erreur suivante ... "Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException"

Un conseil?

Était-ce utile?

La solution

Vous devez faire deux choses. Tout d'abord, vous devrez passer un paramètre supplémentaire lors de la préparation de votre déclaration ou l'exécution de votre déclaration. Si vous utilisez des instructions préparées, procédez comme suit:

stmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

Si vous ne l'utilisez les commandes préparées, procédez comme suit lorsque vous appelez executeUpdate ():

stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

Une fois que vous exécutez votre déclaration, vous pouvez appeler

ResultSet rs = stmt.getGeneratedKeys()

Cela vous donnera un jeu de résultats qui contient l'une des clés qui ont été générés.

Je ne l'ai pas essayé cette approche avec l'accès, mais il fonctionne très bien avec des colonnes d'identité SQL Server.

Autres conseils

Statement.getGeneratedKeys () devrait faire l'affaire ...

Mettre les deux valeurs de la clé composite dans une matrice de l'objet avec deux éléments et le retourner.

Vous pouvez également mettre la nouvelle clé composite dans l'instance que vous venez d'enregistrer et de le retourner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top