VisualSQLite

 

Dans la série Miko et les bases de données : SQLite

Ce programme vous permet de créer ou d'ouvrir une base SQLite, et d'exécuter des scripts Sql. Vous pouvez également enregistrer les modifications de vos scripts. L'archive compressée contient le script Tcl, les scripts Sql et une base exemple. Vous pourrez tout de suite tester les scripts et la base qui contient quelques données. Vous devrez également télécharger la dernière version de la dll SQLite pour Tcl (http://www.sqlite.org/download.html), celle-ci ne pèse que 200 Ko environ Décompressez l'archive et la dll (ou le .so pour Linux) dans le répertoire de votre choix et lancez le script.

Le programme contient deux fenêtres principales, celle du haut vous permet de saisir ou d'ouvrir un script Sql, après l'appui sur le bouton "Exec", le résultat apparait dans la fenêtre du bas. Si le script Sql provoque une erreur, une boite de dialogue vous le signale, et la raison de l'erreur apparaît dans la fenêtre du bas.

L'affichage des résultats est plutôt sommaire, je n'ai pas souhaité utiliser un widget Table pour simplifier le code.

Exercice : fabriquer un formulaire pour alimenter une table...

Un excellent site sur le langage SQL: http://sqlpro.developpez.com/indexSQL.html

Capture d'écran :

Le Code:

 # Visual Sqlite
 # Gestion d'une base de données Sqlite
 #
 # Michel SALVAGNIAC  Copyright (c) 2003
 #
 # Licence HPL: "si vous pétez tout, ne venez pas vous plaindre"
 #
 #
 set application    "Visual Sqlite"
 set version        "1.0"
 #fichier de commandes Sql
 set fichier ""
 #types de fichiers (utilisés par tk_GetopenFile)
 set typesfich {
    {{Scripts SQL } {.sql} }
    {{Fichiers Texte} {.txt} }
    {{Tous Fichiers} * }
 }
 set base_courante ""
 set applidir [file dirname [info script]]
 #adapter le chemin, ou eventuellement modifier le PATH
 load tclsqlite[info sharedlibextension]

 proc Gui { } {

  # creation de l'interface graphique

  global application fichier tcl_platform version

  wm title . "$application $version"

  # barre de menus

  menu .menubar
  . config -menu .menubar

  foreach m { Fichier Base } {
    set $m [ menu .menubar.m$m -tearoff 0]
    .menubar add cascade -label $m -menu .menubar.m$m
  }

  #

  $Fichier add command -label "Ouvrir" -accelerator Ctrl+O \
                       -command { Ouvrir .duhaut.text fichier }
  $Fichier add command -label "Enregistrer" -accelerator Ctrl+S \
                       -command { Sauvegarder fichier JL