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

Bases de données Delphi Discussion :

Utilisation ADO et Requete SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Utilisation ADO et Requete SQL
    Bonjour,

    Neophite en MS-SQL, j'ai compris qu'il fallait utiliser les compo ADO pour "attaquer" une base sur SQL Serveur. J'utilise donc ADOConnexion et ADOTable pour accéder aux tables. Juste que là tout va bien.
    Mon problème est le suivant: j'ai besoin de remplir une table (une restauration en fait) qui contient un champ autoincrémenté, j'ai lu que la requête SQL à utiliser était "SET IDENTITY_INSERT matable ON" afin de pourvoir mettre des valeurs dans le champ. Mais je ne sais pas comment envoyer la requete SQL.. J'ai essayé avec ADOQuery à priori il execute la requète sans renvoyer d'erreur mais lors que je veux mettre à jour la table (ADOTable1.fieldbyname(nomchamp):=mavaleur, il me dit que je ne peux pas modifer le champ... J'ai également essayé avec ADOCommand mais sans succès

    Quelqu'un peut-il m'indiquer la bonne démarche ?

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    vous ne pouvez pas affecter une valeur a une identité il faut juste ordonné la table source a base du champs qui sensé a être la clef et laisser le serveur faire sont travail sur ton champs AutoInc ou mettre le type de ton champs en Integer.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Si j'en crois les cours SQL sur le site c'est largement possible...

    http://sqlpro.developpez.com/cours/clefs/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    il est possible de débrancher ou rebrancher ce compteur en manipulant la valeur de la variable IDENTITY_INSERT (ON ou OFF) 
    il est possible de connaître la dernière valeur de clef insérée dans la table à l'aide de la variable @@IDENTITY 
     
    Exemple pour SQL Server v7 :
     
     
    -- Création d'une table avec colonne auto incrémentée :
    CREATE TABLE maTable
    (LaClef     INTEGER IDENTITY(6852,1) NOT NULL PRIMARY KEY,
     UneColonne VARCHAR(32))
     
    -- Récupération de la dernière valeur insérée :
    INSERT INTO maTable (UneColonne) VALUES ('exemple')
    SELECT @@IDENTITY
     
    ---------------------------------------- 
    6852
     
    -- Débranchement de l'autoincrément pour insertion manuelle :
    SET IDENTITY_INSERT maTable ON
    INSERT INTO maTable (LaClef, UneColonne)
    VALUES (623, 'exemple 2')
    INSERT INTO maTable (LaClef, UneColonne)
    VALUES (998877, 'exemple 3')
    SET IDENTITY_INSERT maTable OFF
     
    -- Vérification 
    INSERT INTO maTable (UneColonne) VALUES ('exemple 4')
    SELECT * FROM maTable
     
    LaClef      UneColonne 
    ----------- -------------------------------- 
    623         exemple 2
    6852        exemple
    998877      exemple 3
    998878      exemple 4

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Je suis aussi preneur d'une solution qui change le type de champ, mais il faut suite à ma restauration remettre le "type" autoincrémenté. Et ça j'ai pas trouvé comment faire..

Discussions similaires

  1. [XL-2010] Fichier CSV, connexion ADO et requete SQL
    Par Lucorah dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/02/2014, 10h01
  2. ADO.NET Requete SQL sur fichier Access
    Par doc_tah dans le forum ADO.NET
    Réponses: 4
    Dernier message: 09/08/2010, 09h18
  3. Réponses: 13
    Dernier message: 18/11/2008, 14h00
  4. Problème ADO et requete SQL
    Par Alixe80 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 31/03/2008, 20h58
  5. requete sql utilisant une autre requete sql
    Par arnogef dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/02/2007, 20h38

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