AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

Offene Frage von "p80286"
Ein Thema von JaniJPK · begonnen am 1. Jul 2013 · letzter Beitrag vom 9. Jul 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 3. Jul 2013, 07:35
[...] es gab hier mal in der DP ein Projekt, welches auch einen PHP-Tunnel zu einer MySQL - Datenbank aufbauen konnte. Habe das Projekt allerdings aus den Augen verloren, musste in der DP mal nach suchen.
Ich denke du meinst das hier: http://www.delphipraxis.net/148076-m...mysql-dll.html

Ja, ich halte da für eine der besten Lösungen für das hier vorliegende Problem: Von außen nicht zugängliche Datenbanken bei Webhostern. Man sollte sich allerdings gut überlegen, wie man soetwas absichert (.htaccess) und ähnliches. Denn machen wir uns nix vor, man baut sich damit ein Einfallstor.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
JaniJPK

Registriert seit: 1. Jul 2013
Ort: Rheinland-Pfalz
22 Beiträge
 
Delphi 10 Seattle Professional
 
#12

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 6. Jul 2013, 15:36
Hi.

Also ich habe an meinem Programm weitergeschrieben:
Als Anhang die Oberfläche und hier der Quelltext:
Code:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, Mask, DBCtrls, DB, DBTables, ExtCtrls;

type
  TForm2 = class(TForm)
    MainMenu1: TMainMenu;
    Date1: TMenuItem;
    zurck1: TMenuItem;
    N1: TMenuItem;
    Schlieen1: TMenuItem;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    DBText1: TDBText;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    Table1: TTable;
    DataSource1: TDataSource;
    BtnFirst: TButton;
    BtnPrior: TButton;
    BtnNext: TButton;
    BtnLast: TButton;
    CheckBox1: TCheckBox;
    BtnNew: TButton;
    BtnStore: TButton;
    BtnCancel: TButton;
    BtnDelete: TButton;
    procedure Schlieen1Click(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
    procedure BtnStoreClick(Sender: TObject);
    procedure BtnDeleteClick(Sender: TObject);
    procedure BtnPriorClick(Sender: TObject);
    procedure BtnFirstClick(Sender: TObject);
    procedure BtnNextClick(Sender: TObject);
    procedure BtnLastClick(Sender: TObject);
    procedure BtnCancelClick(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Table1AfterEdit(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure setButtons(m: Byte);
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses JH_Designs;

{$R *.dfm}
var pos: TBookmark;

procedure TForm2.setButtons(m: Byte);
begin
 case m of
  0: begin BtnNew.Enabled := False; BtnStore.Enabled := False;
     BtnCancel.Enabled := False; BtnDelete.Enabled := False end;
  1: begin BtnNew.Enabled := True; BtnStore.Enabled := False;
     BtnCancel.Enabled := False; BtnDelete.Enabled := True end;
  2: begin BtnNew.Enabled := False; BtnStore.Enabled := True;
     BtnCancel.Enabled := True; BtnDelete.Enabled := False end
 end
end;

procedure TForm2.Schlieen1Click(Sender: TObject);
begin
  Form1.Visible:=True;
  Close;
end;


procedure TForm2.BtnPriorClick(Sender: TObject);  // Zurück
begin
 Table1.Prior;
 BtnLast.Enabled := True; BtnNext.Enabled := True;
 if Table1.BOF then BtnFirstClick(Self)
end;

procedure TForm2.BtnFirstClick(Sender: TObject);   // Erster
begin
 Table1.First;
 BtnLast.Enabled := True; BtnNext.Enabled := True;
 BtnPrior.Enabled := False; BtnFirst.Enabled := False
end;

procedure TForm2.BtnNextClick(Sender: TObject);  // Vorwärts
begin
 Table1.Next;
 BtnFirst.Enabled := True; BtnPrior.Enabled := True;
 if Table1.EOF then BtnLastClick(Self)
end;

procedure TForm2.BtnLastClick(Sender: TObject);  // Letzter
begin
 Table1.Last;
 BtnFirst.Enabled := True; BtnPrior.Enabled := True;
 BtnLast.Enabled := False; BtnNext.Enabled := False
end;

procedure TForm2.BtnNewClick(Sender: TObject);    // Neu
begin
 Table1.Append; setButtons(2)
end;

procedure TForm2.BtnCancelClick(Sender: TObject); // Rückgängig
begin
 Table1.Cancel; Table1.Edit; setButtons(1)
end;

procedure TForm2.CheckBox1Click(Sender: TObject);  // Lese-/Schreibzugriff
begin
 pos := Table1.GetBookmark;                // Position merken
 Table1.Active := False;
 if CheckBox1.Checked = True then          // Schreibschutz
 begin
  Table1.ReadOnly := True;
  setButtons(0)
 end                        else         //  Lesen und Schreiben
 begin
  Table1.ReadOnly := False;
  setButtons(1)
 end;
 Table1.Active := True;
 Table1.GotoBookmark(pos);                 // Position wiederherstellen
end;

procedure TForm2.Table1AfterEdit(DataSet: TDataSet);  // irgendwas eingegeben
begin
 setButtons(2)
end;

procedure TForm2.BtnStoreClick(Sender: TObject);   // Speichern
begin
 Table1.Post; Table1.Edit; setButtons(1)
end;

procedure TForm2.BtnDeleteClick(Sender: TObject);  // Löschen
begin
 if MessageDlg('Wollen Sie den Kunden wirklich löschen?',
    mtWarning,[mbYes, mbNo], 0) = mrYes then
 begin Table1.Delete; Table1.Edit end
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
 setButtons(0)
end;


end.
Mein Problem: Meine Buttons funktionieren nicht. Wenn ich einen neuenn Kunden in der Datenbank anlegen will stürzt das Programm ab. Und in Delphi bekomme ich eine Fehlermeldung.


Kann mir jemand netter Weise bei diesem Problem helfen?


Ich bedanke mich schon einmal im Vorraus für die Antworten.
Miniaturansicht angehängter Grafiken
.png  
JP

Geändert von JaniJPK ( 6. Jul 2013 um 15:40 Uhr) Grund: Anhang hinzufügen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#13

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 6. Jul 2013, 18:20
Mein Problem: Meine Buttons funktionieren nicht. Wenn ich einen neuenn Kunden in der Datenbank anlegen will stürzt das Programm ab. Und in Delphi bekomme ich eine Fehlermeldung.
Was für eine Fehlermeldung ? Was besagt diese Fehlermeldung ? Versuche mal Dein Programm zu debuggen mit F7 oder F8 um die Stelle herauszufinden, wo Dein Programm aussteigt.

Edit:
[...] es gab hier mal in der DP ein Projekt, welches auch einen PHP-Tunnel zu einer MySQL - Datenbank aufbauen konnte. Habe das Projekt allerdings aus den Augen verloren, musste in der DP mal nach suchen.
Ich denke du meinst das hier: http://www.delphipraxis.net/148076-m...mysql-dll.html
Ja, genau das Projekt meinte ich.
Rolf Warnecke
App4Mission

Geändert von RWarnecke ( 6. Jul 2013 um 18:23 Uhr)
  Mit Zitat antworten Zitat
JaniJPK

Registriert seit: 1. Jul 2013
Ort: Rheinland-Pfalz
22 Beiträge
 
Delphi 10 Seattle Professional
 
#14

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 08:38
Hallo,

die Fehlermeldung passiert wenn ich auf den Button Kunden speichern drücke [Table1.Append; setButtons(2)].

Die Fehlermeldung ist folgende:

<Im Projekt JHDesigns.exe ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung: 'Table1: Operation bei geschlossener Datenmenge nicht ausführbar'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.>


Ich verstehe es einfach nicht. Ich habe ein Beispiel-Programm und da funktioniert alles...
JP
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#15

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 10:39

Ich verstehe es einfach nicht. Ich habe ein Beispiel-Programm und da funktioniert alles...
Und wie unterscheidet sich das Beispielprogramm von dem fehlerhaften?
Könnte es sein, daß die DB in deinem Beispielprogramm lokal ist?

Nur nebenbei, warum werden eigentlich immer diese DBxxx Komponenten genutzt?
(mit einfachen SQL-Befehlen wäre unter anderem das Debuggen viel einfacher)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
JaniJPK

Registriert seit: 1. Jul 2013
Ort: Rheinland-Pfalz
22 Beiträge
 
Delphi 10 Seattle Professional
 
#16

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 11:46
@p80286

Das Programm unterscheidet sich mit dem Beispielprogramm nur, dass es mehr DBEdit-Komponenten hat. Ich öffne mit dem Beispielprogramm die gleiche lokale Datei, die ich auch in meinem Programm verwende.


Ich bin Newbie. Deswegen verwende ich die DBxxx-Komponenten. Wenn du mir mei Programm schreibst dass es auch ohne funktioniert habe ich kein Problem damit


In dem Ordner PB_01 ist auch die Datei der Datenbank. Der Pfad muss noch angepasst werden.

Das Programm aus dem Ordner PB_01 sowie die Datenbank-Datei kommen aus dem Buch "Borland Delphi 7-Grundlagen, Profiwissen, Kochbuch" von Doberenz und Gewinnus (Verlag: Hanser).
Angehängte Dateien
Dateityp: zip MeinProgramm.zip (17,0 KB, 0x aufgerufen)
Dateityp: zip PB_01.zip (357,8 KB, 0x aufgerufen)
JP

Geändert von JaniJPK ( 9. Jul 2013 um 12:27 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#17

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 12:24
Wenn du Kundendaten über das Internet überträgst, dann solltest du die Verbindung oder die Daten unbedingt verschlüsselt übertragen.

In der DB-Verbindung kannst du das u.a. mit
FMysql.UseSSL := true; erreichen.

Der Datenschutzbeauftragte wird es danken.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
JaniJPK

Registriert seit: 1. Jul 2013
Ort: Rheinland-Pfalz
22 Beiträge
 
Delphi 10 Seattle Professional
 
#18

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 12:29
@ generic


Vielen Dank für diesen Tipp. Werde ich nachher gleich einbauen
JP
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Newbie sucht Hilfe: Speicherung und Abruf in und von einer externen Datenbank

  Alt 9. Jul 2013, 12:39
@p80286

Das Programm unterscheidet sich mit dem Beispielprogramm nur, dass es mehr DBEdit-Komponenten hat. Ich öffne mit dem Beispielprogramm die gleiche lokale Datei, die ich auch in meinem Programm verwende.
Könnte es Sein, daß diese Komponenten dann einmal "synchronisiert" werden müssen?

Ich bin Newbie. Deswegen verwende ich die DBxxx-Komponenten. Wenn du mir mei Programm schreibst dass es auch ohne funktioniert habe ich kein Problem damit
Das mach mal schön selber, Beispiele dafür findest du hier im Dutzend billiger.
(Und vor allem, daß es immer wieder Ärger mid DBxxx gibt) Für die ersten drei Schritte mögen die DB-Komponenten ja ganz schön sein, später kommt man meist zurück zu den spartanischen Ansätzen.

Das Programm aus dem Ordner PB_01 sowie die Datenbank-Datei kommen aus dem Buch "Borland Delphi 7-Grundlagen, Profiwissen, Kochbuch" von Doberenz und Gewinnus (Verlag: Hanser).
Ich halte eigentlich viel von den beiden, meist beschreiben Sie auch die Stolperstellen und warum Sie es so machen wie sie es machen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz