Connecter un PDF à une base de données (Acrobat)

Transcription

Connecter un PDF à une base de données (Acrobat)
Connecter un PDF à une base de données (Acrobat)
(08-09-2005) - Soumis par Equipe Sos-Pdf - Dernière mise à jour : (08-09-2005)
Avec Adobe Acrobat 5 ou 6 pro, on peut connecter un formulaire à une base de données Acces, Excel, SQL Server,
Oracle, etc... (à l'aide d'une liaison Odbc, un standard Windows). Ce dossier expose le code JavaScript de base à mettre
en oeuvre pour récupérer des informations depuis une base de données et les afficher dans un formulaire PDF.
Quelques lignes de JavaScript suffisent pour connecter un formulaire PDF à une base de données. Cela n’est
possible qu’avec une liaison ODBC, un standard sous Windows qui vous permet de communiquer avec une base
Access, une table Excel, Oracle…
Déclarer la source de données
Rendez vous dans le panneau de configuration de Windows et dans les outils d’administration. Déclarer une
source ODBC utilisateur en sélectionnant le type de connecteur en fonction de votre base de données (Access,
oracle…). Chaque liaison est nommée. Ce nom nous servira à nous connecter à la base de données. Appelons pour
ce dossier « liaisonODBC » notre liaison.
Connexion à la base en JavaScript
Nous allons utiliser la structure du try and catch. En cas d’échec de connexion on peut ainsi récupérer
l’erreur et afficher un message en français par exemple.
try {
// L’objet ADBC est l’objet de base pour se connecter
connect = ADBC.newConnection("liaisonODBC");
if (connect == null) throw "Impossible de se connecter";
// L’objet statement nous permettra d’exécuter du SQL
statement = connect.newStatement();
if (statement == null) throw "Impossible objet statement";
} catch(e) {
// On affiche l’erreur
app.alert(e);
}
Pour les bases de données protégées, utilisez la syntaxe :
connect = ADBC.newConnection("liaisonODBC", "login", "pass");
Nous sommes connectés à la base de données sauf erreur. Nous allons maintenant pouvoir manipuler les objets
statement et row (ligne) pour manipuler les données.
Execution d’une requête SQL
La méthode statement.execute() permet d’exécuter du SQL. Pour récupérer tous les enregistrements
d’une table de la base, on fait donc :
statement.execute(“Select * from maTable”);
Récupération des données
Pour récupérer les données ligne à ligne :
// Pour récupérer la première ligne ou passer à la ligne suivante
statement.nextRow();
// On stocke les enregistrements dans un tableau-objet row
var row = statement.getRow();
// On récupère la valeur de la colonne « id » avec row.id.value
// On remplit des champs de formulaire avec les valeurs de la base
this.getField("id").value = row.ID.value;
http://www.sos-pdf.com - Sos-Pdf
Powered by Mambo
Generated: 27 June, 2007, 16:40
this.getField("firstname").value = row.FirstName.value;
Mise à jour de la base
On peut évidemment envoyer une requête SQL UPDATE. Voici un exemple de requête construite directement à partir
des valeurs des champs d’un formulaire PDF :
var updateStr = "UPDATE ClientData"
+" SET FirstName='"+this.getField("firstname").value+"',"
+" LastName='"+this.getField("lastname").value+"',"
+" Telephone='"+this.getField("telephone").value+"',"
+" Income="+this.getField("income").value
+" WHERE ID="+this.getField("id").value;
statement.execute(updateStr);
http://www.sos-pdf.com - Sos-Pdf
Powered by Mambo
Generated: 27 June, 2007, 16:40

Documents pareils