1. L'utilisation de l'adoconnection et adoable à Delphi
Adoconnection et Adotable sont configurés pour se connecter à la base de données (j'utilise SQLServer) à Delphi comme enseigné dans de nombreux livres, et il n'y a aucun problème à l'exécution. Ensuite, je l'ai modifié, le but est de modifier la base de données de connexion sans modifier la propriété ConnectionString de l'Adoconnection dans Delphi, et la boîte de dialogue de connexion n'apparaît pas.
Étapes de modification: Définissez LoginProprit sur False, effacez la propriété ConnectionString et ajoutez le code de connexion
CONSTRACT: = 'Provider = SqLoledB.1; Motword = 1982072019; ID utilisateur = SA; Catalogue initial = StorageManagement; Source de données = 10.16.99.175';
essayer
LoginForm.TempAdoconnection.ConnectionString: = CONTR;
LoginForm.TempAdoconnection.Connected: = true;
sauf
Messagedlg ('La connexion de la base de données est incorrecte !! Veuillez vérifier dataconfig.xml', mtconfirmation, [mbok], 0);
application.terminer;
fin;
De cette façon, il n'y a aucun problème à se connecter à la base de données lorsque le programme s'exécute. Mais le problème qui se produit est que dans Dlephi Adotable Control ne peut pas se connecter aux tables car la propriété ConnectionString n'a aucune valeur. L'erreur est signalée comme "déclaration d'autorisation non valide". Comment utiliser l'adoconnection et les commandes adotables à Delphi et éviter la boîte de dialogue de connexion ennuyeuse.
2. Utilisez des instructions SQL à Delphi.
Étant donné que l'instruction SQL nécessite des devis doubles pour attribuer des valeurs aux chaînes, tandis que les chaînes sont enfermées dans des devis uniques à Delphi, j'ai rencontré certains problèmes en les utilisant. Le résultat de mon expérience est que deux citations simples sont utilisées dans Delphi au lieu de doubles devis dans l'instruction SQL. Vous ne savez pas si c'est vrai?
Je ne sais toujours pas exactement comment l'utiliser.
3. Utilisez Adoquery dans Delphi 7.0 pour retourner les résultats.
J'ai signalé une erreur après l'avoir utilisée, mais il existe un programme de CD qui l'utilise de cette manière sans erreur. J'utilise des paramètres ['xxxx'], et je ne peux pas utiliser .assstring
4. Code d'origine:
==============================================. =================== ======================.
Si caninsert alors
Commencer
avec alldatamodule.aq_otherMaterielout
Commencer
Fermer;
Sql.clear;
SQL.Text: = 'INSERT OUTREMATEELOUTIE (MATRIELID, MOMMANCHE) (: INSERTID ,: INSERTAMOUNT,)';
Paramètres [0] .Value: = MyMateriel;
Paramètres [1] .Value: = myAmount;
Execsql;
fin;
avec alldatamodule.aq_otherMaterielStock
Commencer
Fermer;
Sql.clear;
SQL.Text: = 'Update OtherMaterielStock set Montant = quantité-: updateAmount Where MaterialId =: UpdateId';
Paramètres [0] .Value: = myAmount;
Paramètres [1] .Value: = MyMateriel;
Execsql;
fin;
MATRICALOutForm.close;
fin;
Après ce code
avec alldatamodule.aq_otherMaterielout
Commencer
Fermer;
Sql.clear;
SQL.Text: = 'Update OtherMaterielStock set Montant = quantité-: updateAmount Where MaterialId =: UpdateId';
Paramètres [0] .Value: = myAmount;
Paramètres [1] .Value: = MyMateriel;
Execsql;
fin;
La fonction de l'affichage automatique de la liste de contrôle qui peut être utilisée ne peut pas être utilisée avec AllDatamodule, mais j'ai forcé le code derrière lui pour toujours fonctionner. Que se passe-t-il?