|
Bas de page | |
---|---|
Auteur | Sujet : [C# .net] Faire un simple "select" à SQL Server |
Publicité | Posté le 14-07-2006 à 16:23:44 |
Taz bisounours-codeur | tu mets une contrainte et si tu essaies de créer avec le même pseudo, ça explose, alors tu affiches l'erreur. |
Tamahome ⭐⭐⭐⭐⭐ |
--------------- Hobby eien /人◕ ‿‿ ◕人\ |
Taz bisounours-codeur | c'est certain que 10 millions d'utilisateurs s'inscrivent chaque jour. |
Tamahome ⭐⭐⭐⭐⭐ | super l'argument : "tu peux coder comme un porc, c'est pas grave, ce code sera pas appelé souvent" --------------- Hobby eien /人◕ ‿‿ ◕人\ |
Taz bisounours-codeur | en quoi c'est porc ? le fait de vérifier par un select avant ne te garanties pas que l'insert suivant fonctionnera. |
Tamahome ⭐⭐⭐⭐⭐ | c'est porc de chercher a faire "exploser" la requete d'insertion pour voir si l'utilisateur existe. Alors qu'il suffit de faire un --------------- Hobby eien /人◕ ‿‿ ◕人\ |
Taz bisounours-codeur | je ne vois absolument pas pourquoi c'est porc. C'est EAFP de base, ça marche très bien et ça fait moins de code. |
Tamahome ⭐⭐⭐⭐⭐ |
--------------- Hobby eien /人◕ ‿‿ ◕人\ |
Taz bisounours-codeur | mais tu te rends compte que le select avant pour vérifier ne sert pas à grand chose et que quoi qu'il arrive, t'es obligé de faire un try sur l'insert ? quel log ? quel perte de temps ? quel cout en performance ? là je vois pas. |
Publicité | Posté le 14-07-2006 à 23:15:57 |
Tamahome ⭐⭐⭐⭐⭐ | Effectivement, savoir que l'utilisateur n'existe pas ne va pas garantir que l'insertion marchera. Mais je n'ai jamais dit le contraire hein. Seulement si l'utilisateur existe deja, il ne fera pas d'insert et ca lui épargnera un try/catch couteux (et dans le code, et dans le serveur SQL).
Message édité par Tamahome le 14-07-2006 à 23:42:39 --------------- Hobby eien /人◕ ‿‿ ◕人\ |
Arjuna Aircraft Ident.: F-MBSD |
Message cité 1 fois Message édité par Arjuna le 17-07-2006 à 10:13:26 |
Arjuna Aircraft Ident.: F-MBSD | Tamahome > Dans tous les cas, quelque soit la requête que tu fais dans la base, le "try catch" est obligatoire. A moins que tu te retranches derrière la gestion du code d'erreur HTTP 500 pour afficher un message propre en cas d'erreur (sans savoir d'où il vient, donc impossible à tracer). Le moteur de base de données peut être indisponible pour un nombre infini de raison : requête pendant une oppération de backup, hold lock sur une table qui expire, etc. Sans parler simplement des problèmes courants de fichier de données plein, ou bêtement une coupure du service suite à un plantage.
Message édité par Arjuna le 17-07-2006 à 10:23:06 |
moi23372 | je suis d'accord avec Arjuna. Ne pas faire une gestion dans un try catch est complètement abominable et le site sera une source d'erreur comme l'a déjà dit Arjuna. |
Tamahome ⭐⭐⭐⭐⭐ |
--------------- Hobby eien /人◕ ‿‿ ◕人\ |
Arjuna Aircraft Ident.: F-MBSD | t'as dit que les "try" ça prenait du temps et qu'il fallait les éviter. par extension, je traduis que tu voulais remplacer le try par un select dans la table, espérant obtenir le même résultat.
|
Tamahome ⭐⭐⭐⭐⭐ |
Message édité par Tamahome le 17-07-2006 à 12:51:33 --------------- Hobby eien /人◕ ‿‿ ◕人\ |
Arjuna Aircraft Ident.: F-MBSD | sauf que pour le second point du point deux, ça sert à rien étant donné que le select va "virtuellement" prendre autant de temps que le insert, même si ce dernier plante.
|
Tamahome ⭐⭐⭐⭐⭐ |
--------------- Hobby eien /人◕ ‿‿ ◕人\ |
Arjuna Aircraft Ident.: F-MBSD | tu n'épargnes rien du tout : le select aussi peut planter (lock sur la table qui te met en timeout, problème de liaison avec la base -maintenance, etc.-). du coup tu dois TOUJOURS faire un try/catch à chaque accès à la base (tu vois que toi aussi tu ne lis pas ce que je dis ) |
Tamahome ⭐⭐⭐⭐⭐ | ouais ouais blablabla et un météorite peut s'écraser sur ton application cliente aussi
Message édité par Tamahome le 18-07-2006 à 09:32:00 --------------- Hobby eien /人◕ ‿‿ ◕人\ |
Publicité | Posté le |
Sujets relatifs | |
---|---|
connexion à une base de données SQL server via ado.net | [Résolu][SQL] Problème classement ASC/DESC sur VARCHAR |
Javascript/DOM ajout input/select en colonne dans un tableau | Aide sur SQL concernant des dates/durées |
[Hibernate ] récup requête SQL texte auto générée | Requete SQL problématique |
[SQL]inserer un champs dans une table | lancer .bat en admin dans une session utilisateur simple |
Besoin de conseils pour organisation SQL | |
Plus de sujets relatifs à : [C# .net] Faire un simple "select" à SQL Server |