cmasson
Messages postés4Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 4 juin 2009
-
22 déc. 2008 à 16:05
cmasson
Messages postés4Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 4 juin 2009
-
28 déc. 2008 à 14:47
bonjour à tous,
Je développe un site ASP.net / VB.net avec sql server express 2005 et Visual web Dev 2008 en version light. Je dois faire un INSERT dans une table à partir de 2 autres tables et en fonctions de 6 paramètres. Je fais un SELECT sur 2000 lignes d'une table montage_colis avec les références colis 84 lignes pour alimenter ma table devis.
je constate que:
Lors des tests requêtes depuis la base (avec l'éditeur de VS 2008) et en saisissant à la main les 6 paramêtres qui me sont demandés, tout est OK et j'insère mes enregistrement.
ensuite :
Depuis un formulaire, ou j'ai mes paramètres (label, DropDownList), seul 1 INSERT requête fonctionne lorsque la table devis n'a aucun enregistrement pour un compte client. CAD en fonction des mes comptes, je ne peux générer qu'un seul enregistrement par compte de 17 à 24 ligne de code produit ... puis impossible de refaire un second INSERT, que ce soit pendant ou en nouvelle session. En résumé j'allimente chacun de mes comptes au premier INSERT puis plus rien. "QUID"
J'ai fait 3 manip de code pour l'INSERT, ayant à chaque fois les mêmes tests et résultats et 3 interfaces différentes:
1) méthode SQLDATASOURCE;
2) méthode en pure VB avec déclaration des paramètres avec la connexion;
3) méthode procédure stockée, que j'appelle avec mon code VB
je livre la requête:
INSERT INTO devis
(nom_compte, numero, valide, code_interne, code_colis, machinerie, entre_niveau, nombre_niveau, fin_course, type_cabine, quantite, date)
SELECT
@nom_compte AS Expr1, 'CCC0000' AS Expr4, 'non' AS Expr2, montage_colis.code_toto, colis.code_colis, montage_colis.machinerie,montage_colis.entre_niveau, montage_colis.nombre_niveau, montage_colis.fin_course, montage_colis.type_cabine, montage_colis.quantite, CURRENT_TIMESTAMP AS Expr3
FROM
colis INNER JOIN montage_colis
ON
colis.code_toto = montage_colis.code_toto
WHERE
(montage_colis.machinerie = @machinerie)
AND (montage_colis.entre_niveau = @entre_niveau)
AND (montage_colis.fin_course = @fin_course)
AND (montage_colis.nombre_niveau = @nombre_niveau)
AND (montage_colis.type_cabine = @type_cabine)
certains noms sont changés pour cause de diffusion mais bon cette requête fonctionne dans l'éditeur, et une seul eet unique fois ! ! !
Je travaille à distance sur un server d'hébergement, je teste le site en ligne et en mode localhost ayant les mêmes résultats.