VBSQLITEMANAGER - GESTIONNAIRE DE BASE DE DONNÉES SQLITE (VB6)

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 26 oct. 2004 à 15:07
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 23 juin 2008 à 13:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27097-vbsqlitemanager-gestionnaire-de-base-de-donnees-sqlite-vb6

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
23 juin 2008 à 13:42
Pour un champ auto incrément on fait :

CREATE TABLE tatable
(TIdx INTEGER PRIMARY KEY AUTOINCREMENT,
chtinombre INTEGER NOT NULL);
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
2 juil. 2005 à 16:28
La version 3 de SQLITE supporte désormais le ALTER TABLE
ptitkaneda Messages postés 14 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 3 décembre 2004
15 déc. 2004 à 14:23
J'ai pas test ta source, je suis juste venu jeter un coup d'oeil, et je trouve quand meme que le fait que la commande alter table ne soit pas implementer est un handicape assez lourd .... enfin bon comme tu dis on peu faire autrement mais bon SQLite part avec un handicape.
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
26 oct. 2004 à 15:22
Question : Comment ajouter ou supprimer des champs d'une table existante ?

Réponse : SQLite ne supporte pas la commande SQL "ALTER TABLE". Si Vous voulez changer la structure de la table :

Vous devez recréer la table. Vous pouvez sauvegarder la table dans une table temporaire, supprimer l'ancienne table, créer la nouvelle table avec les modifications à apporter et enfin copier les données de la table temporaire vers la nouvelle table.

Exemple, supposons que vous avez une table nommé "t1" avec comme champs "a", "b", et "c" et vous voulez supprimer le champ "c" de la table. Les étapes suivantes vous montre comment procéder :

BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
26 oct. 2004 à 15:07
Question : Comment créer un champ Auto-Incrément ?

Réponse : Un champ déclarer INTEGER PRIMARY KEY est automatiquement autoincrement :

Exemple :

Supposons que vous avez une table comme :

CREATE TABLE t1(
a INTEGER PRIMARY KEY,
b INTEGER
);

On peut insérer une ligne avec comme valeur pour le champ autoincrément NULL :

INSERT INTO t1 VALUES(NULL,123);

Comme si on a fait :

INSERT INTO t1 VALUES((SELECT max(a) FROM t1)+1,123);