AGB  ·  Datenschutz  ·  Impressum  







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

Fortlaufende Kundennummer

Ein Thema von xSkaschY · begonnen am 22. Jun 2006 · letzter Beitrag vom 23. Jun 2006
Antwort Antwort
Seite 2 von 2     12   
xSkaschY

Registriert seit: 19. Jun 2006
Ort: Bünde
95 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Fortlaufende Kundennummer

  Alt 22. Jun 2006, 08:49
Naja komplette Rechnungsverwaltung mit PDF-Creation Support und so firlefax!

Der grösste Teil is ja eigentlich nur DB -> get -> write, also nicht wirklich schwer.

Ein Update auf MySQL 5 ist möglich, wobei ich nicht weiss ob meine CMF's damit laufen, da die Mirgation erst im Winter vollzogen werden soll.

Wo ich mir jedoch jetzt Gedanken mache, ist die PDF-Template Erstellung

BTW:

Delphi-Quellcode:
function TkundenAdd.nextKundennummer(kundennr: string): string;
var kdnrprefix , statement: string;
    numlenght, next: integer;
begin

    statement := 'SELECT a.value as prefix, b.value as zeros' +
                 'FROM `'+prefix+'_config` AS a, `'+prefix+'_config` AS b' +
                 'WHERE a.name = ''kdnrprefix'' AND b.name = ''kdnrzeros''';

    formDebug.messages.Lines.Add(statement);

    mainForm.MySQLQuery.SQL.Text := statement;
    mainForm.MySQLQuery.Open;

    kdnrprefix := mainForm.MySQLQuery.FieldByName('prefix').AsString;
    numlenght := mainForm.MySQLQuery.FieldByName('zeros').AsInteger;

    next := StrToInt(RightStr(kundennr, numlenght))+1;

    mainForm.MySQLQuery.Close;

    Result := Format('%s%.*d', [kdnrprefix , numlenght, next]);
    
end;
Unelegant
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Fortlaufende Kundennummer

  Alt 22. Jun 2006, 19:59
Zitat von xSkaschY:
Unelegant
Nicht nur das... Du holst Dir mit deiner Funktion ja lediglich eine neue ID, Prefix bezogen... Aber irgendwie muss Du die aber auch wieder zurückschreiben in die Tabelle, und zwar so schnell als möglich. Zum Glück kennt MySQL im Prinzip keine Transaktionen (ausser innoDB), so dass die Vergabe der ID somit halbwegs sicher sein sollte... Aber wichtig ist eben, so schnell als möglich den neuen Record anzulegen, damit dir keine andere User dazwischen funken und die gleiche ID kriegen.
  Mit Zitat antworten Zitat
xSkaschY

Registriert seit: 19. Jun 2006
Ort: Bünde
95 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Fortlaufende Kundennummer

  Alt 23. Jun 2006, 14:07
Hallo Jelly,

unwahrscheinlich, da die neue Kundennummer erst vergeben wird wenn der Kunde gespeichert wird. Aber das konnte ja keine sehen, habe gehört die Glaskugeln sind, seit es das Internet gibt, sehr unzuverlässig geworden!

Quasi

Delphi-Quellcode:

// @return int last_insert_id();

function saveKunde(...): integer;
var kdnr: string;
begin
   kdnr := nextKundennummer();

   // Kunde wird eingefügt (sql insert into)
end;
  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 06:52 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