Ich komme und komme nicht weiter. Muss aber auch sagen das ich noch nicht so lange in Delphi programmiere. Habe bisher dBase verwendet.
Dort auch schon ein grösseres Projekt programmiert. Von Beruf bin ich Feuerwehrmann und habe dort für einige Feuerwehren die komplette Personalverwaltung programmiert. Aber da nun viele von DOS Programmen abrücken, wollte ich das Programm in Delphi jetzt programmieren. Da ich noch nicht lange in Delphi programmiere ist es sehr mühsam, aber die Beispiele die Sie in Ihren Tutorials bringen, sind klasse, die bringen mich sehr weit nach Vorn.
Aber nun habe ich ein Problem wo ich nicht so recht weiter komme.
Erst mal mit welchen Geräten bzw. Programmen ich arbeite:
Computer : Rechner mit I5 Proz
System : Win7 prof
Delphi : XE 7 prof.
Datenbanksytsem :
MySQL
Datenbank : Feuerwehr (
MySQL)
Tabelle : Leh (
MySQL
Zum Problem:
Ich muss ja neue Daten eingeben und abspeichern, sowie will ich aus einem DBgrid Daten übernehmen um sie dann abzuspeichern. Also einmal neue Daten einfügen , zum weiteren dann Daten ersetzen.
Das Anstossen der Möglichkeiten geschieht über verschiedene Button.
procedure TPer_form.LEH_spei_bitbtnClick(Sender: TObject);
begin
leh_tabl.insert ;
leh_tabl['lg_dat'] := LG_dat_aen_picker.Date;
LEH_tabl['LG_pnr'] := per_table['PE_nr'];
LEH_tabl['LG_kurz'] := LG_kurz_edit.Text;
LEH_tabl['LG_lang'] := LG_lang_edit.Text;
LEH_tabl['LG_ort'] := LG_ort_edit.Text;
LEH_tabl['LG_inst'] := LG_inst_combo.Text;
LEH_tabl['LG_std'] := LG_std_edit.Text;
LEH_tabl['LG_Leit'] := LG_leiter_edit.Text;
LEH_tabl['LG_note'] := LG_note_combox.Text;
LEH_tabl['LG_wert'] := MLG_wert;
leh_tabl['LG_usda'] := now ;
LEH_tabl['LG_user'] := an_table1['US_name'];
leh_tabl.Post ;
MessageDlg('Die Daten wurden gespeichert.....', mtInformation, [mbOK], 0);
end;
Dies funktioniert auch, so wie gewünscht. Könnte mir aber vorstellen das es in
SQL sauberer wäre. Vielleicht können sie mir diese Procedur zu kommen lassen.
Das eigentliche Problem habe ich aber damit das im Änderungsmodus immer der erste Datensatz geändert wird. Auch hier nachfolgend die Procedur.
procedure TPer_form.LEH_aen_speich_bitbtnClick(Sender: TObject);
begin
leh_tabl.edit ;
LEH_tabl['Lg_dat'] := LG_dat_aen_picker.Date;
LEH_tabl['LG_pnr'] := per_table['PE_nr'];
LEH_tabl['LG_kurz'] := LG_kurz_edit_a.Text;
LEH_tabl['LG_lang'] := LG_lang_edit_a.Text;
LEH_tabl['LG_ort'] := LG_ort_edit_a.Text;
LEH_tabl['LG_inst'] := LG_inst_edit_a.Text;
LEH_tabl['LG_std'] := LG_std_edit_a.Text;
LEH_tabl['LG_Leit'] := LG_leiter_edit_a.Text;
LEH_tabl['LG_note'] := LG_note_edit_a.Text;
leh_tabl['LG_usda'] := now ;
LEH_tabl['LG_user'] := an_table1['US_name'];
leh_tabl.Post ;
end;
Das ist die zweite Procedur, die immer den ersten Datensatz ändert.
Auch hier würde ich gerne eine
SQL Speicherung vorziehen mit Update
Nur wie ?????
Im Vorraus meinen herzlichen Dank