Ich möchte aus einem Formular die Eingaben über mehrere Tabellen verteilen.
Wie kann ich z.B. die KundenID, die in customers als AutoIncrement weiterverwenden.
Diese KundenID soll der AddressID zugeordnet werden, um eine eindeutige Zuweisung zu erhalten.
Kann ich am Anfang irgendwie die customers_id deklarieren, sodass ich immer darauf zurückgreifen kann, wie
z.B. in php : $customers_id = ($_POST['customers_id']);
$customers_firstname= ($_POST['customers_firstname']);
$customers_lastname= ($_POST['customers_lastname']);
und über ein array
$sql_data_array = array('customers_firstname' => $firstname,
'customers_lastname' => $lastname);
über ein queryeinfügen und verteilen kann.
Ich hoffe, dass jemand mir diesbezüglich vielleicht helfen kann.
Besten Dank im voraus
Nachfolgen der bisherige code, der zwar geht, aber eben von einem Newbee.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49:
| begin
MyCommand1.SQL.Text := 'INSERT INTO akp_customers (customers_id, customers_gender, customers_firstname, customers_lastname) VALUES ('''', :E_Gender, :E_Nachname, :E_Vorname);'; if E_Frau.Checked =true then MyCommand1.ParamByName('E_Gender').Value := 'f' else MyCommand1.ParamByName('E_Gender').Value := 'm' ;
MyCommand1.ParamByName('E_Nachname').Value := E_Nachname.Text; MyCommand1.ParamByName('E_Vorname').Value := E_Vorname.Text;
if E_Nachname.Text = '' then begin ShowMessage('Bitte den Nachnamen eingeben'); exit; end; if E_Vorname.Text = '' then begin ShowMessage('Bitte den Vornamen eingeben'); exit; end; MyCommand1.Execute ;
MyCommand2.SQL.Text := 'INSERT INTO akp_address_book (address_book_id, customers_id, entry_gender, entry_firstname, entry_lastname) VALUES ('''','''', :E_Gender, :E_Nachname, :E_Vorname);'; if E_Frau.Checked =true then MyCommand2.ParamByName('E_Gender').Value := 'f' else MyCommand2.ParamByName('E_Gender').Value := 'm' ; MyCommand2.ParamByName('E_Nachname').Value := E_Nachname.Text; MyCommand2.ParamByName('E_Vorname').Value := E_Vorname.Text;
MyCommand2.Execute ; MyCommand3.SQL.Text := 'update akp_address_book set customers_id = address_book_id '; MyCommand3.Execute ;
if true then begin ShowMessage('Daten wurden gespeichert'); end; E_Herr.Checked; E_Nachname.Clear; E_Vorname.Clear;
end; |
Moderiert von
Narses: Delphi-Tags hinzugefügt