AGB  ·  Datenschutz  ·  Impressum  







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

2 kleine Datenbank fragen

Ein Thema von ironman139 · begonnen am 2. Nov 2013 · letzter Beitrag vom 5. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2      
ironman139

Registriert seit: 1. Nov 2013
24 Beiträge
 
#1

2 kleine Datenbank fragen

  Alt 2. Nov 2013, 10:34
Hallo ,

Weis einer von euch wie der Syntax lauten muss , wenn ich einer Datenbank einen Eintrag aktualisieren will.
Bei meinem Programm gibt es eine Auftragsnummer , die sich immer ändert wenn man einen Button drückt
Also immer n+1
Wie muss ih das lösen , dass diese Auftragsnummer immer gespeichert wird und beim nächsten programmstart wieder angezeigt wird ?

Mit freundlichen Grüßen Iron
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 10:40
Mit einem SQL-Statement:

z. B.:
Code:
INSERT INTO dbname (feldname) VALUES ("Wert")
Je nach verwendeten DBMS weicht die genaue SQL-Syntax etwas ab.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
ironman139

Registriert seit: 1. Nov 2013
24 Beiträge
 
#3

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 10:51
Das mit dem INSERT INTO funktioniert leider nicht, da kommt immer dass die Zeile schon einen Wert enthält
Werde später mal kurz den Programm Code posten
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 11:36
Das mit dem INSERT INTO funktioniert leider nicht, da kommt immer dass die Zeile schon einen Wert enthält
Werde später mal kurz den Programm Code posten

Opps, ich meinte nicht INSERT (fügt einen neuen Datensatz ein) sondern UPDATE. Sorry

Code:
UPDATE
  table_name
SET
  column1 = value1,
  column2 = value2,...
WHERE
  some_column = some_value;
http://www.w3schools.com/sql/sql_update.asp
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 16:38
@ironman
Geht's um eine Auftragsverwaltung, in der eine fortlaufende Auftragsnummer vonnöten ist? Das löst du mit einem AutoInc-Feld. Welche Datenbank verwendest du? Multi-User oder Single-User-Datenbank?
  Mit Zitat antworten Zitat
ironman139

Registriert seit: 1. Nov 2013
24 Beiträge
 
#6

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 19:20
Ja genau es handelt sich um eine Auftragsnummer.

Ich verwende SQLite


Delphi-Quellcode:
SQLQuery1.Close;

  SQLQuery1.SQL.Text:='INSERT INTO tblvar (Auftragsnummer) VALUES (NULL, :Auftragsnummer)';
  SQLQuery1.ParamByName('Auftragsnummer').AsString:= IntToStr(v) ;
  SQLQuery1.ExecSQL;
  SQLTransaction1.commit;

Das wäre mein Code (v) errechne ich immer durch v:=v+1;

Geändert von ironman139 ( 2. Nov 2013 um 19:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 19:53
Für Auftrags-, Rechnungs-. etc. Nummern habe ich bisher niemals AutoInc Felder gesehen.

Jeder Beleg hatte eine eindeutige ID (für die interne Verwaltung) welche mit einem AutoInc eindeutig gehalten wurde. Die Belegnummernvergabe wurde aber anders gelöst.

z.B. mit einer Tabelle für diese Letzten Nummern.

Mit Sqlite z.B. so:
SQL-Code:
begin transaction;

update Value
set Value = Value + 1
where Section="RECH";

select Value
from LastNumbers
where Section="RECH";

commit;
Um garantiert keine Lücken innerhalb einer Periode zu bekommen, sollte man innerhalb dieser Transaktion auch gleich den gesamten Beleg speichern
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 2. Nov 2013 um 19:58 Uhr)
  Mit Zitat antworten Zitat
ironman139

Registriert seit: 1. Nov 2013
24 Beiträge
 
#8

AW: 2 kleine Datenbank fragen

  Alt 2. Nov 2013, 20:30
So siehts momentan aus:

Delphi-Quellcode:
 v:=v+1;

    Label16.caption:=IntToStr(v);


  SQLQuery1.Close;

  SQLQuery1.SQL.Text:='UPDATE tblvar SET (Auftragsnummer) VALUES ( :Auftragsnummer)';
  SQLQuery1.ParamByName('Auftragsnummer').AsString:= IntToStr(v) ;
  SQLQuery1.ExecSQL;
  SQLTransaction1.commit;
Bei der OnCreate Methode lass ich v auf den Wert der Tabelle setzten.
Aber irgendwie funktioniert das so nicht

Edit: Ich hab mir gerade einen neuen Ansatz überlegt, da ja die Auftragsnummer mit dem Patient verknüpft werden muss. Anstatt die Auftragsnummer in einer extra Tabelle zu speichern kann ich die ja auch in die Patiententabelle mit reinspeichern und wenn ich dann das Programm wieder öffne, den letzten Eintrag auslesen und dann 'letzter Eintrag +1' Oder geht das so nicht ?



Gruß iron

Geändert von ironman139 ( 2. Nov 2013 um 21:02 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: 2 kleine Datenbank fragen

  Alt 3. Nov 2013, 05:44
Oder geht das so nicht ?
Soweit mir als selbständigem Gewerbetreibenden bekannt, verlangt das Finanzamt, daß Auftragsnummern fortlaufend und lückenlos zu führen sind. Nur so ist für das Finanzamt nachvollziehbar, daß bei der Steuererklärung keine Aufträge unterschlagen bzw. alle Einnahmen angegeben wurden.

Offenbar möchtest du eine Praxis-Verwaltungssoftware schreiben. Da wäre es hilfreich, sich zuerst einmal die bekannten und in scharfer Konkurrenz zueinander stehenden Produkte anzuschauen. Medizinische Betriebe – also Ärzte, Krankengymnastik-Betriebe usw. – unterliegen gewissen Bestimmungen hinsichtlich ihrer Verwaltungssoftware. Dazu gehören u.a. eine übersichtliche Terminverwaltung, Patientenverwaltung, Therapieverwaltung, Auftragsverwaltung, Rechnungsverwaltung, Rezeptverwaltung, Krankenkassen-Abrechnungsverwaltung, Kartenlese-Einheit und vieles mehr. Wie diese Bestimmungen genau sind, solltest du vielleicht vor Entwicklungsbeginn recherchieren.
  Mit Zitat antworten Zitat
ironman139

Registriert seit: 1. Nov 2013
24 Beiträge
 
#10

AW: 2 kleine Datenbank fragen

  Alt 3. Nov 2013, 09:48
Nein nein, so profesionell soll das Programm gar nicht werden, dafür haben wir andere.
Das Programm dient zum ,, Laufzettel" schreiben für ein Produkt was Hausintern gefertigt wird.
Der Zettel dient nur um die Kiste zu beschriften, und eben um ein paar Daten dem Patient zu zu ordnen.
Dieser wird am Ende des Produktionsprozesses wieder entsorgt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:37 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