J'ai un formulaire qui permet aux utilisateurs d'insérer des éléments dans la base de données. J'appelle Scope_Identity() pour obtenir la dernière valeur d'identité insérée. Cela fonctionne bien. Lors de l'insertion de l'élément, un mot de passe est généré de manière aléatoire, qui est également enregistré dans ma base de données. Je dois également récupérer ce mot de passe, immédiatement après l'insertion de l'élément. Comment puis-je faire cela?comment obtenir les données de l'article immédiatement après l'insertion
Répondre
Exécutez une requête pour obtenir le mot de passe en fonction de l'ID que vous venez de recevoir en appelant Scope_Identity().
Quelles technologies utilisez-vous?
Merci pour votre aide. Je pensais juste qu'il pourrait y avoir un autre moyen. – Anelim
code pseudo:
insert into sometable
declare @ID int
set @ID = Scope_Identity()
select password from passwordtable where id = @ID
On peut supposer que vous pouvez obtenir une référence au nouveau mot de passe avant l'insertion a lieu, que je pense serait la meilleure approche - cela empêcherait la nécessité de faire une INSERT suivie un SELECT pour lire le mot de passe - supprime la deuxième étape.
par exemple. pour générer un mot de passe, vous feriez utliser vous NEWID():
DECLARE @Pwd VARCHAR(36)
DECLARE @NewId INTEGER
SELECT @Pwd = CAST(NEWID() AS VARCHAR(36))
INSERT MyTable (SomeField, Pwd)
VALUES (@SomeValue, @Pwd)
SELECT @NewId = SCOPE_IDENTITY()
seraient les paramètres de SORTIE @Pwd et @NewId (je ferais cela comme un sproc). OMI ce serait préférable de faire une lecture inutile si possible.
(NB. Je suis en ignorant les points autour vraiment comment stocker les mots de passe/pas dans le texte brut)
Si vous utilisez vous SQL Server 2008 peut utiliser la clause de sortie au lieu de l'identité de portée. Avec la clause de sortie, vous pouvez produire plus d'un champ. un exemple du code de livres en ligne:
DECLARE @MyTableVar table(ScrapReasonID smallint,
Name varchar(50),
ModifiedDate datetime);
INSERT Production.ScrapReason
OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDate
INTO @MyTableVar
VALUES (N'Operator error', GETDATE());
- 1. Mysql lire les données immédiatement après avoir écrit?
- 2. Comment exécuter une fonction immédiatement après l'authentification
- 3. Attribution de pointeur immédiatement après la suppression
- 4. Méthode virtuelle d'appel immédiatement après la construction
- 5. Comment empêcher la clôture de jQuery FancyBox immédiatement après l'envoi?
- 6. Comment faire une tâche immédiatement après l'installation de l'application Android?
- 7. CSS n'effectue pas immédiatement après le changement
- 8. jquery: appelle les fonctions immédiatement après le plugin
- 9. DataSet.HasChanges est vrai même immédiatement après l'exécution de TableAdapter.Update
- 10. selectOneRadio avec l'action immédiatement après cliquez sur
- 11. DeleteFile d'un EXE immédiatement après Process.WaitForExit échoue
- 12. Comment télécharger les données GridView après la liaison de données?
- 13. Est-il possible de tirer pour les points de contact immédiatement après les touchesBegan: est appelé?
- 14. Django: Lire le contenu de FileField immédiatement après l'enregistrement
- 15. Comment obtenir la nouvelle taille de base de données après des opérations de largage différées?
- 16. objet est réinséré dans la base de données immédiatement après suppression (DbLinq)
- 17. Est-il préférable d'autoriser ou de libérer immédiatement après?
- 18. Obtenir les modifications à l'entité après la mise à jour dans la base de données
- 19. comment obtenir les données de l'appareil photo
- 20. Comment obtenir les données de XMl suivant?
- 21. Comment recevoir une sortie de commande immédiatement?
- 22. Comment obtenir les données dans les commentaires
- 23. Google Maps map.getBounds() immédiatement après un appel à map.fitBounds
- 24. ASP.NET Session_End appelée immédiatement après Session_Start après un délai d'attente de session
- 25. Obtenir les données de XDocument
- 26. Process.Start ("IEXPLORE.EXE") déclenche immédiatement l'événement Exited après le lancement .. pourquoi?
- 27. jQuery: obtient immédiatement l'élément suivant après l'élément en cours
- 28. Les polices Windows ne sont pas immédiatement utilisables dans l'application après l'installation?
- 29. après Jquery et obtenir des données de PHP
- 30. Exécuter immédiatement sur le lien de la base de données
Faites-vous cela dans un sp? –
utilisez-vous des jeux de données? ou 3 e partie DAL? –