Autor Beitrag
mrbean_001
Hält's aus hier
Beiträge: 7

XP prof SP3
Delphi 2009 Prof, MyAccess
BeitragVerfasst: Sa 09.05.09 15:37 
Ich habe das Vergnügen eine Anwendung zu entwerfen mit allen nur erdenklichen SchnickSchnack,
wie z.B. Kundenverwaltung, Produktverwaltung, Personalverwaltung, etc..
Als Newbee in der Delphi2009-Progammierung arbeite ich mich Stück für Stück durch.
In dem Hauptformal wir mittels PageControl das Kundenblatt aufgerufen.
Hier befinden sich mit TEdit diverse Eingabefelder, die ausgelesen werden sollen
und per sql Statement in die mySql Datenbank eingetragen werden.
Soweit so gut, habe nun das Forum seit Tagen durchforstet, vielleicht auch etwas übersehen, leider
finde ich nichts was mir weiterhilft.
Habe bisher mit php programmiert, dort wird der sql string per POST übergeben


Beim nachfolden Code wird nicht das Eingabefeld ausgelesen----aber +E_Nachname+ und +E_Vorname+ in die Datenbank eingetragen.
Natürlich sollen dann die Eingabefelder wieder freigegeben werden, wenn Speichern gedrückt wurde-- für den nächsten Datensatz.
Weiß jemand Rat, wie ich das Problem lösen könnte, ohne auf Goooooogle zu verweisen(schon ausgiebig gesucht)?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TAKP.SpeichernClick(Sender: TObject);
  var
  InsertSQL: String;
   E_Vorname: string;
     E_Nachname: string;

   begin
  with MyCommand1 do
     InsertSQL:=('INSERT INTO akp_customers (customers_id, customers_firstname, customers_lastname)VALUES  ('''', ''+E_Nachname+'', ''+E_Vorname+'');');
   
     MyCommand1.SQL.Insert(0,InsertSql);
     MyCommand1.Execute ;
  MyCommand1.Free ;

  
   end;

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Titel geändert (1 Fragezeichen reicht).
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 09.05.09 16:04 
MyAccess sagt mir ehrlich gesagt spontan nichts, gibt es das erst ab D2009? Naja, wie dem auch sei, falls das unterstützt wird, solltest Du SQL-Parameter verwenden. Anbei ein Beispiel, wie das aussehen könnte:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
MyCommand1.InsertSQL.Text := 'INSERT INTO akp_customers (customers_id, customers_firstname, customers_lastname) VALUES (:leer, :E_Nachname, :E_Vorname';
MyCommand1.ParamByName('leer').Value := '';
MyCommand1.ParamByName('E_Nachname').Value := E_Nachname;
MyCommand1.ParamByName('E_Vorname').Value := E_Vorname;
MyCommand1.Execute ;
MyCommand1.Free ; //wird das Objekt dynamisch erzeugt ohne Owner?
//Leeren der Eingabefelder
EingabeEditNachname.Clear;
EingabeEditVorname.Clear;
mrbean_001 Threadstarter
Hält's aus hier
Beiträge: 7

XP prof SP3
Delphi 2009 Prof, MyAccess
BeitragVerfasst: Sa 09.05.09 16:44 
Danke erst einmal für die schnelle Antwort mit Beispiel.
MyAccess ist ein externes Tool für den Zugriff auf mySql Datenbanken von devart, dazu dbforgeFusion
unter www.devart.com/mydac/.
Hat mir eigentlich zugesagt, da ziemlich schnell mit drag n drop Verbindung zu localhost hergestellt werden kann, tables, query,etc.ähnlich.
über Grid geht auch die Anzeige wunderbar, leider nicht z.B. Insert. In der Hilfe sind auch keine Beispiele.


Habe dein Beispiel eingebaut, leider rot unterstrichen wird nicht ünterstützt.
So etwas ähnliches habe ich auch schon im Forum gesehen und ausprobiert.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 09.05.09 17:08 
Ich habe mir gerade die Hilfe dazu heruntergeladen.
Zitat:
Use the SQLInsert property to specify the SQL statement that will be used when applying an insertion to a dataset. Statements can be parameterized queries. Names of the parameters should be the same as field names. Parameters prefixed with OLD_ allow using current values of fields prior to the actual operation.

Also sollte das schon irgendwie gehen, leider weiß ich auch nicht, wie genau.
mrbean_001 Threadstarter
Hält's aus hier
Beiträge: 7

XP prof SP3
Delphi 2009 Prof, MyAccess
BeitragVerfasst: Sa 09.05.09 17:44 
Ich habe das irgendwo schon gesehen, aber wenn zuviel gelesen wurde, ist es
fast unmöglich zu wissen wo das war.
werde versuchen das zu finden.


Ich mach für heute erst einmal Schluss.
Bis Morgen... nicht vergessen MUTTERTAG!!
mrbean_001 Threadstarter
Hält's aus hier
Beiträge: 7

XP prof SP3
Delphi 2009 Prof, MyAccess
BeitragVerfasst: Fr 22.05.09 14:02 
Habe nach etlichen Versuchen und Frustphasen es endlich geschafft.
Nachfolgend der Code-->
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TAKP.SpeichernClick(Sender: TObject);
   begin
    MyCommand1.SQL.Text := 'INSERT INTO akp_customers (customers_id, customers_firstname, customers_lastname) VALUES ('''', :E_Nachname, :E_Vorname);';
    MyCommand1.ParamByName('E_Nachname').Value := E_Nachname.Text;
    MyCommand1.ParamByName('E_Vorname').Value := E_Vorname.Text;
    MyCommand1.Execute ;
    E_Nachname.clear;
    E_Vorname.Clear;
    end;

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt