AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DB Grid Einträge duplizieren & ..
Thema durchsuchen
Ansicht
Themen-Optionen

DB Grid Einträge duplizieren & ..

Ein Thema von jaenzen · begonnen am 22. Sep 2009 · letzter Beitrag vom 23. Sep 2009
Antwort Antwort
jaenzen

Registriert seit: 30. Sep 2008
5 Beiträge
 
#1

DB Grid Einträge duplizieren & ..

  Alt 22. Sep 2009, 11:39
Datenbank: Firebird • Version: 2.0 • Zugriff über: IB-Expert
Guten Morgen,
ich bräuchte mal eure Hilfe weil ich nicht weiterkomme.


1. Wie kann ich Einträge in einem DBGrid duplizieren? (Datenbankebene)
2. Wie kann ich beim speichern eines Strings in eine Datenbank überprüfen, ob ein bestimmter Teil des Strings schon vorhanden ist bei den anderen Einträgen in der Spalte.
3. Wie kann ich Datensätze nach der höchsten Versionsnummer durchsuchen? Beispiel:

4 datenbankeinträge

id name
0 Projekt 1.0
1 Projekt 1.1
2 Projekt 1.2
3 Projekt 1.3

In meinem programm kann ich in einem Projektladenfenster ein projekt öffnen. beim laden wird das projekt dupliziert (damit der gespeicherte Stand nicht überschrieben werden kann). Das dup. Projekt soll eine höhere Version zugewiesen bekommen (hier 1.4) als vorhanden ist, egal welches Projekt geladen wird. Meine jetztige Prozedure rechnet immer nur eins hoch (zb. wenn ich 1.1 lade .. generiert er 1.2, obwohl es 1.4 sein soll, weil ich in meiner proz. ja bevor ich das projekt duplizier auf 1.1 zugreife und daher die versionsnr habe und die einfach + 0.1 rechne :/.. quasi durchsuch ich die datenbank nicht nach der höchsten vorhandenen versionsnr weil ich nich weiss wie das geht)

(sry konnte das iwie schlecht ausdrücken was ich meine)

thx
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DB Grid Einträge duplizieren & ..

  Alt 22. Sep 2009, 12:25
Zitat:
1. Wie kann ich Einträge in einem DBGrid duplizieren? (Datenbankebene)
Insert into ... select ...
Zitat:
2. Wie kann ich beim speichern eines Strings in eine Datenbank überprüfen, ob ein bestimmter Teil des Strings schon vorhanden ist bei den anderen Einträgen in der Spalte.
Select ... containing
Zitat:
3. Wie kann ich Datensätze nach der höchsten Versionsnummer durchsuchen? Beispiel:
select max( version) from <Tabelle> group by name;
Markus Kinzler
  Mit Zitat antworten Zitat
jaenzen

Registriert seit: 30. Sep 2008
5 Beiträge
 
#3

Re: DB Grid Einträge duplizieren & ..

  Alt 23. Sep 2009, 07:31
guten morgen!
danke .. punkt 2 und 3 war in null komma nixs gemacht.

an punkt 1 hänge ich noch. also nehmen wir mal an ich habe ein dbgrid mit 5 einträgen und möchte sie nun per buttonklick alle duplizieren (halt nur neue id). wie ich einen einzelnen dupliziere weiss ich. wäre nett wenn ihr mir noch mal auf die sprünge helfen würdet. danke!

mfg
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: DB Grid Einträge duplizieren & ..

  Alt 23. Sep 2009, 08:02
Hallo,

Zitat:
ein dbgrid mit 5 einträgen
Du weisst schon, dass diese 5 Records in einer Tabelle sind.

Zitat:
wie ich einen einzelnen dupliziere weiss ich
Wo ist dann das Problem ?
Was heisst duplizieren genau ?

Ich würde das mit einer StringList machen,
die speichert die Ids der 5 Einträge
Delphi-Quellcode:
var
  StrList: TStringList;
  DataSet: TDataSet;
begin
  StrList:= TStringList.Create;

  DataSet:= Tab11; / Query1, was immer du als Grundlage des DBGrid hast

  DataSet.First;
  while not DataSet.EOF do
  begin
    StrList.Add(DataSet.FieldByName('Id').AsString;
  end;

  for i:= 0 to StrList.Count-1 do
  begin
    Dupliziere (StrToint(StrList[i]));
  end;
end;

procedure Dupliziere(theId: Integer);
begin
 // finde Datensatz
  Query1
  'select * from TableXXX where id='+IntToStr(theId)
   Open;
   Close

 // daten anhängen
  Query2
  insert into ...

  Oder mit einer Query insert into tableXXX select

end;
Ja, man könnte auch eine eigene separate Transaktion benutzen (MGA ausnutzen),
aber ich denek, das wäre für dich zu kompliziert.


Heiko

Heiko

end;
Heiko
  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:39 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