IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

[SQL2K] [BCK] Récupération d'un entier pour un insert


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 26
    Points
    26
    Par défaut [SQL2K] [BCK] Récupération d'un entier pour un insert
    Bonjour à tous.

    Je ne suis pas du tout sûr d'avoir mis le bon module donc désolé par avance. Je ne suis pas sûr non plus d'être sur le bon forum(encore...)

    Bon voilà j'ai une table AdminPDF avec comme clé primaire IDX (type:bigint) et tout les autres champs de type "nvarchar". Je souhaite récupérer les valeurs saisies par un utilisateur dans une page ASP:

    voilà ma requète:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SET IDENTITY_INSERT AdminPDF ON
    		INSERT INTO AdminPDF(idx, typeInclude, espace, site, dateDeb, dateFin, nomFichierHTML, nomFichierPDF, contenuHTML, guidPDF)
    		VALUES ($idx$,'$typeInclude$','$espace$','$site$','$DateDeb$','$DateFin$','$nomFichierHTML$','$nomFichierPDF$','$contenuHTML$','$guidPDF$')
    	SET IDENTITY_INSERT AdminPDF OFF
    donc je teste avant cette requète dans Entreprise Manager avec des valeurs en dure et notament l'IDX comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES (667, 'test1',....)
    ou comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES ('667', 'test1',....)
    les deux fonctionnent mais une fois sur ma page ASP avec la requète et les variables à récupérer je suppose que l'IDX ne s'enregistre pas car rien ne rentre dans la base et aucun message d'erreur ne s'affiche.

    J'avais auparavant fait une requète sans l'idx et les valeurs rentraient (même l'idx mais avec des entiers incorrects)

    C'est compliqué à expliquer (pour moi ) donc j'espère avoir été un peu clair.

    Merci !!!!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 129
    Points : 103
    Points
    103
    Par défaut
    Salut!

    Je ne vois pas vraiment quel pourrait être ton erreur car il faudrait aussi voir le code ASP. Ce que je peux te conseiller par contre c'est de faire ton INSERT dans une procédure stockée sur ton server SQL. Assure toi que ta procédure stocké retourne le code d'erreur si ca ne fonctionne pas. Ensuite dans ASP tu appelle ta procédure stockée et affiche le résultat retourné. Cela va te permettre de voir l'erreur qui se produit. Aussi en utilisant une procédure stockée tu es obligé de spécifier les type de tes données et ainsi ASP convertit en selon cas. De plus les procédure augmente le gain de performance .

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 26
    Points
    26
    Par défaut
    Merci de m'avoir répondu

    Je ne pense pas pouvoir créer de procédure stockée: premièrement parceque je ne connais pas ce que c'est et deuxièment car je ne suis pas du tout maître de l'application, on m'a dit en effet de mettre mes requêtes dans un fichier .txt que j'envoie à petaouchnoc pour que celui-ci soit mis dans un fichier .ini que j'appelle dans mon code asp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ReqSQL="AJOUTPDF"
    oSQLAjout.AddRequest ReqSQL, FichierIni.
    je met mes paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oSQLAjout.SetParam "idx", idxajout
    oSQLAjout.Setparam "typeInclude", typeIncludeajout
    ......
    "idxajout, typeIncludeajout..." contenant des request.form
    puis je lance le truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oSQLAjout.DynamicLtnv = oMOM.Execute( oSQLAjout.DynamicLtnv,20000)
    donc voilà en gros plus j'explique plus je suis perdu

    Merci !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 129
    Points : 103
    Points
    103
    Par défaut
    Selon ce que je vois tu travaille en ASP et pas en .net (mon erreur). Il se peut dans ce cas que ASP ne fasse pas de convertion automatique. Essais de faire un cint(maValeuràconvertir) pour ta variable qui doit être envoyer en int.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oSQLAjout.SetParam "idx", cint(idxajout)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 26
    Points
    26
    Par défaut
    non il ne se passe toujours rien j'ai essayé de changer mon code afin de récupérer le numero directement par l'incrémentation de la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ReqSQL2="SELECTALL"
     
    oSQLRech2.AddRequest ReqSQL2, FichierIni
     
    oSQLRech2.DynamicLtnv = oMOM.Execute(oSQLRech2.DynamicLtnv,20000)
     
    nblignesajout = oSQLRech2.ReturnedRows
     
    idxajout=cint(oSQLRech2.GetRowColValue(nblignesajout,"IDX")+1)
    mais ca ne fonctionne pas plus.
    d'où mon sentiment de ne pas savoir si le problème viens de SQL ou ASP

    Merci et bonne soirée !!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 26
    Points
    26
    Par défaut
    Bonjour à tous

    Je remarque que mes posts voyagent pas mal

    Plus sérieusement je ne pense pas que mon problème soit ASP puisseque même en rentrant les valeurs en dur dans le code asp la page se recharge mais les données ne rentrent pas dans la table, à mon avis c'est juste cet idx lors de la requête SQL dans ce fichier .ini qui est en désaccord avec mon code.
    Est-ce vraiment comme cela que l'on récupère un Bigint pour l'idx et un nvarchar pour le reste ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES ($idx$,'$typeInclude$',....)
    Mici !!

  7. #7
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    C'est quoi ces $? Fais une recherche dans le forum sur la concaténation et l'utilisation des variables ASP dans une requête SQL.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 26
    Points
    26
    Par défaut
    Ah oui c'est des & qu'il faut.

    Je nage en plein délire alors je complète un projet déjà existant et toutes les variables étaient avec des $ et ça marchait bien donc je n'ai même pas cherché à savoir si les $ étaient l'erreur désolé

    je vais testé de ce pas avec des & (enfin si la personne de petaouchnoc veut bien me répondre) merci

    bonne journée

  9. #9
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Outre le pb du "$", la meilleur solution me semble de laisser faire SQL Server.
    Tu peux paramétrer le champs de ton identifiant pour s'autoincrémenter.
    Au moment de l'insertion tu n'a pas de valeur à spécifier.
    A+

Discussions similaires

  1. Récupération d'un ID pour un insert
    Par BATCHOS CON TEQUILA dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2009, 11h40
  2. Réponses: 2
    Dernier message: 25/01/2007, 11h34
  3. [SQL2K] Débutant, Récupération du message d'erreur
    Par WDEROO dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/03/2006, 15h53
  4. [ODBC] Récupération d'une donnée pour insertion dans une autre table
    Par rom950 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2006, 17h13
  5. [SQL2K][BCK] erreur de syntax pour update et insert
    Par lifecraft dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/02/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo