AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus DBGrid Eintrag

Offene Frage von "xDdaviiDxD"
Ein Thema von xDdaviiDxD · begonnen am 7. Nov 2022 · letzter Beitrag vom 30. Nov 2022
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#1

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 10:18
Um die Passwortprüfung nur einmal machen zu müssen:
Delphi-Quellcode:
procedure TForm1.edtPasswordChange(Sender: TObject);
var
  i : integer;
  bOk : Boolean;
begin
  bOk := PasswordValid(edtPassword.Text);
  for i := Low(FButtons) to High(FButtons) do
    FButtons[i].Visible := bOk;
end;
Je nachdem wie die Prüfung des Passwortes erfolgt (z. B. Abgleich mit Daten in einer Datenbank), kann es schon sinnvoll sein, die Prüfung des Passwortes nur einmalig vorzunehmen.
  Mit Zitat antworten Zitat
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Lazarus DBGrid Eintrag

  Alt 11. Nov 2022, 11:05
Vielen Dank euch allen,

ich werde es alles mal Durchtesten und schauen was am besten für das Projekt Passt.
  Mit Zitat antworten Zitat
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 11:00
Guten Tag,

Ich Hoffe das ist Okay das ich hier drin einfach meine Nächste Frage stelle.

und zwar würde ich gern das DBGrid einmal als CSV Exportieren und später Importieren.

Mit Hilfe des Internets hab ich den Export als CSV schon "Fertig".

Code:
//==============================================================================
procedure TForm1.btnCsvExportClick(Sender: TObject);
//==============================================================================
var
 sInhalt:string;
 fDatei:textfile;
begin
 assignfile(fDatei,'C:\Lazarus_Projekte\DB_Gaszähler\DBDaten.csv');
 rewrite(fDatei);
 TableDaten.First;
while not TableDaten.EOF do
 begin
  sInhalt:='"' + TableDaten.FieldByName('idDaten').AsString +'",';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Datum').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Zeit').AsString +'",';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Name').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Stand').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Neu').AsString +'"';
  sInhalt:=sInhalt + '"' + TableDaten.FieldByName('Verbrauch').AsString +'"';

  WriteLn(fDatei, sInhalt);
  TableDaten.next;
 end;
   closefile(fDatei);
end;
Mein Problem ist das ich den Import einfach nicht Hinbekomme. :s

Es sollte am besten per Button in mein DBGrid.
Würde mich sehr über weitere Hilfe Freuen.

MfG
David
  Mit Zitat antworten Zitat
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#4

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 12:06
Falls du nur CSV Daten in deinem Grid nur anzeigen möchtest, dann kannst du in Lazarus das TCSVDataset dazu verwenden.
Falls du aber die Daten auch in deine DB importieren möchtest, dann müsstest du erst die Daten in die Datenbank importieren und dann über die DB die Daten in deinem Grid anzeigen.

Mir ist leider noch nicht ganz klar was du mit den Daten machen möchtest, deswegen kann ich dir wahrscheinlich nur teilweise helfen.
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.

Geändert von itblumi (28. Nov 2022 um 12:08 Uhr)
  Mit Zitat antworten Zitat
xDdaviiDxD

Registriert seit: 1. Nov 2022
Ort: Sachsen-Anhalt
16 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 12:23
Das ganze soll Als Backup gedacht sein falls mal mit der Datenbank etwas schiefläuft, so dass ich die CSV als Backup-Datei habe und sie in dem Fall nur "Neu" Laden/Importieren muss.

Also sollten die Daten aus der CSV in die Datenbank importiert werden wenn ich den Button zum laden/Importieren Drücke.(Nur leider sind da meine Probleme das ich nicht weiß wie ich das genau Anstelle :s)

Das ganze Projekt ist ein Gaszähler welcher später auf einem RaspberryPi (als Tablet) Laufen soll.

MfG

David
  Mit Zitat antworten Zitat
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#6

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 12:56
Im 2. post dieses Threads gab es ja schon mal eine Erklärung wie du Daten in die Datenbank eintragen kannst. Ich würde aus den CSV Daten einen SQL Insert Befehl generieren.

SQL-Befehl: INSERT INTO Tabelle (Spalte1, Spalte2, ...) VALUES (value1, value2, ..)
  1. Die Spaltennamen aus der CSV auslesen, damit du den ersten Teil des Inserts Befehl generieren kannst.
  2. Danach müsstest du die Values mit den Daten füllen in dem Format wie deine Datenbank sie haben möchte. Du müsstest also noch die Werte dementsprechend umwandeln (Datums Werte etc.).
  3. Die Query an die Datenbank schicken.
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 13:05
Zitat:
Das ganze soll Als Backup gedacht sein falls mal mit der Datenbank etwas schiefläuft,
Wäre es nicht zielführender die Backup und Restorefunktionenen/programme der DB bzw. des dbms dafür zu nutzen?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#8

AW: Lazarus DBGrid Eintrag

  Alt 28. Nov 2022, 13:06
Hallöle...
Zitat:
Das ganze soll Als Backup gedacht sein falls mal mit der Datenbank etwas schiefläuft
...das Ganze macht man eigentlich NICHT selbst. Jedes DBMS hat sein Backup/Restore.

https://mariadb.com/kb/en/backup-and-restore-overview/
https://mariadb.com/kb/en/mariabackup-overview/
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 03:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz