1. Die Verwendung von Adoconnection und Adotable in Delphi
Adoconnection und Adotable sind so eingerichtet, dass sie in Delphi eine Verbindung zur Datenbank (ich verwende SQLServer) in Delphi ein, wie in vielen Büchern unterrichtet, und es gibt kein Problem beim Laufen. Anschließend habe ich es geändert, der Zweck besteht darin, die Verbindungsdatenbank zu ändern, ohne die ConnectionString -Eigenschaft der Adoconnection in Delphi zu ändern, und das Verbindungsdialogfeld wird nicht angezeigt.
Änderungsschritte: Loginprompt auf false festlegen, die ConnectionString -Eigenschaft löschen und den Verbindungscode hinzufügen
Const: = 'Provider = SQLOLEDB.1; Passwort = 1982072019; Benutzer -ID = SA; anfänglicher Katalog = StorageManagement; Datenquelle = 10.16.99.175';
versuchen
loginForm.Tempadoconnection.ConnectionString: = Const;
loginform.tempadoconnection.connected: = true;
außer
Messagedlg ('Die Datenbankverbindung ist falsch !! Bitte überprüfen Sie Dataconfig.xml', mtConfirmation, [Mbok], 0);
application.terate;
Ende;
Auf diese Weise gibt es kein Problem, wenn das Programm ausgeführt wird. Das Problem, das auftritt, ist jedoch, dass bei der dlephi -adotablen Steuerung keine Verbindung zu Tabellen hergestellt werden kann, da die ConnectionString -Eigenschaft keinen Wert hat. Der Fehler wird als "ungültige Autorisierungsanweisung" gemeldet. So verwenden Sie die Adoconnection- und Adotable -Steuerelemente in Delphi und vermeiden Sie das Dialogfeld "Lernige Verbindung".
2. Verwenden Sie SQL -Anweisungen in Delphi.
Da für die SQL -Anweisung Doppelzitate erforderlich sind, um Zeichenfolgen Werte zuzuweisen, während die Zeichenfolgen in einzelnen Zitaten in Delphi beigefügt sind, habe ich einige Probleme mit ihnen gestoßen. Das Ergebnis meines Experiments ist, dass zwei einzelne Zitate in Delphi anstelle von doppelten Zitaten in der SQL -Anweisung verwendet werden. Weiß nicht, ob es richtig ist?
Ich weiß immer noch nicht genau, wie ich es benutzen soll.
3. Verwenden Sie Adoquery in Delphi 7.0, um die Ergebnisse zurückzugeben.
Ich habe einen Fehler nach der Verwendung gemeldet, aber es gibt ein CD -Programm, das es auf diese Weise ohne Fehler verwendet. Ich verwende Parameter ['xxxx'] und kann nicht .Assstring verwenden
4. Originalcode:
====================================================== ================================================
Wenn Caninsert dann
Beginnen
mit Alldatamodule.aq_othermaterielout do
Beginnen
Schließen;
Sql.clear;
SQL.Text: = 'Einfügen von othermaterielout (materielid, Menge) Werte (: InsertID,: InsertAMount,)';
Parameter [0] .Value: = MyMateriel;
Parameter [1] .Value: = MyAmount;
Execsql;
Ende;
mit Alldatamodule.aq_othermaterielstock do
Beginnen
Schließen;
Sql.clear;
SQL.Text: = 'Aktualisieren von othermaterielstock set senge = pension-: updateAMount wobei materialId =: updateId';
Parameter [0] .Value: = MyAmount;
Parameter [1] .Value: = MyMateriel;
Execsql;
Ende;
Materialoutform.close;
Ende;
Nach diesem Code
mit Alldatamodule.aq_othermaterielout do
Beginnen
Schließen;
Sql.clear;
SQL.Text: = 'Aktualisieren von othermaterielstock set senge = pension-: updateAMount wobei materialId =: updateId';
Parameter [0] .Value: = MyAmount;
Parameter [1] .Value: = MyMateriel;
Execsql;
Ende;
Die Funktion der automatischen Anzeige der verwendeten Steuereliste kann nicht mit Alldatamodule verwendet werden, aber ich habe den Code dahinter gezwungen, noch zu arbeiten. Was ist los?