1. Créez une table temporaire
L'entrée de données est un lien inévitable dans le développement de programmes de base de données. Dans la structure du client / du serveur, le client peut avoir à saisir un lot de données avant de les soumettre à la base de données du serveur. , effacer les données après avoir été soumise. Les avantages de cette méthode sont les suivants: Améliorer l'efficacité des entrées et réduire la charge du réseau.
Étant donné que la quantité de données saisies par un utilisateur à la fois est généralement faible (pas plus de quelques centaines d'enregistrements), des tables temporaires peuvent être construites en mémoire, ce qui rend le traitement plus rapidement.
Méthode 1: Utilisez le contrôle de la requête (tQuery)
Étape 1: Mettez le contrôle de la requête (tQuery) sur le formulaire et définissez la table de données connectée.
Étape 2: faire tQuery.
TQuery.
Étape 3: Ajoutez une substotement où une instruction SQL d'origine et demandez que le résultat de la requête SQL est vide après l'ajout de celle-ci.
Par exemple:
Sélectionnez Biolife. ″ Espèce NO ″, Catégorie, Common_name, Biolife. ″ Nom de l'espèce », Biolife. ″ Longueur (CM)», Length_in, Notes, Graphic
De "biolife.db" biolife
où biolife.category = ′ a ′ et biolife.category = ′ b ′
De cette façon, le tableau temporaire est établi.
Méthode 2: Créez des tables temporaires à l'aide du code
Le code est le suivant:
Fonction CreateTableInMemory (const AfildDefs: tfieldDefs): TDATASET;
var
Tentalistes: TClientDataset;
Commencer
Temptable: = nil;
Résultat: = nil;
Si afildDefs $ # @ 60; $ # @ 62; nil alors
Commencer
essayer
Temptable: = tClientDataset.Create (application);
Tentable.fieldDefs.assign (afildDefs);
Temptable.Createdataset;
Résultat: = (tentable comme tdataset);
Sauf
Si tentable $ # @ 60; $ # @ 62; nil alors
Tentable.free;
Résultat: = NIL;
augmenter;
fin
fin
fin;
Dans le programme, utilisez-le comme suit:
Procédure tform1.button1Click (expéditeur: tobject);
var
Adataset: Tdataset;
Commencer
Adataset: = tdataset.create (self);
avec adataset.fieldDefs
Commencer
Ajouter ('name', ftsstring, 30, false);
Add (′ UE ′, ftinteger, 0, false);
fin;
avec dataSource1 do
Commencer
DataSet: = CreateTableInMemory (Adataset.FieldDefs);
Dataset.open;
fin;
Adataset.Free;
fin;
La création de table temporaire est complète.
La méthode 1 est simple à utiliser, mais comme le contrôle de la requête est utilisé pour interroger la base de données du serveur Backend lors de la compensation des données, la vitesse est légèrement plus lente, et elle ne convient pas aux situations où chaque champ dans une table temporaire est reconstitué par plusieurs données champs de table. La méthode 2 a une large gamme d'applications et une vitesse rapide, mais nécessite une écriture de code. (La méthode d'utilisation des tfieldDefs dans le code est très simple, voir l'aide en ligne de Delphi).
2. Configurer le moteur de données (BDE, lien SQL)
Lorsque vous distribuez des programmes de base de données, vous devez transporter un moteur de données (BDE, lien SQL), et après que le client a installé le programme, vous devez également configurer un moteur de données, tel que le nom d'utilisateur, le mot de passe (mot de passe), etc. S'il est configuré manuellement, la charge de travail est relativement importante (selon le nombre de clients).
[Idapi alias]
use name = sysdba
mot de passe = masterkey
Après l'installation du programme, le moteur de données est automatiquement configuré.
3. Utilisez des fonctions dans la base de données interbase
Les programmeurs peuvent se sentir gênants (seulement quatre) lors de l'utilisation d'interbase comme base de données d'arrière-plan lorsqu'ils fournissent trop peu de fonctions (seulement quatre) et ne peuvent pas facilement écrire des procédures stockées complexes. L'interbase lui-même ne peut pas écrire de fonctions, mais il peut utiliser des fonctions externes (appelées fonctions en dll). L'exemple suivant montre comment déclarer la fonction substr dans interbase.
Déclarer le substral de fonction externe
CString (80), smallInt, smallInt
Renvoie CString (80)
Entrée_point ″ ib_udf_substr ″ module_name ″ ib_udf ″
Où: module_name est le nom de la dll et de l'entrée_point est le nom de la fonction.
Il peut être utilisé après la déclaration, par exemple:
Sélectionner le substr (pays)
du pays
Cet exemple utilise la base de données Iblocal qui est livrée avec l'installation de Delphi. Les utilisateurs peuvent également écrire des fonctions elles-mêmes pour développer l'interbase. Pour plus de contenu, veuillez consulter les sujets de l'article lié à la base de données, ou