AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi IBScript und INSERT - Befehl

IBScript und INSERT - Befehl

Ein Thema von RWarnecke · begonnen am 31. Dez 2008 · letzter Beitrag vom 31. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von RWarnecke
RWarnecke

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

IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 13:52
Datenbank: Firebird • Version: 2.1 • Zugriff über: IB Komponenten
Hallo zusammen,

in meinem WebUpdate von Code-Orakel lasse ich ein SQL-Script mit der Komponente TIBScript ausführen und danach wieder löschen. Das funktioniert auch wunderbar. Ich habe nur ein Problem, es gibt User, die überspringen auch mal ein Update und andere machen jedes Update. Dadurch muss ich ja das SQL-Skript im Webupdate lassen. Jetzt ist nur die Frage, kann ich über die Komponente TIBScript die INSERT-Befehle steuern ? Oder kann ich in das SQL-Script eine Art IF-Abfrage einbauen, die vorher abprüft ob der Datensatz vorhanden ist ? Oder sollte ich für das WebUpdate besser eine Stored Procedure nehmen und das komplette Update der Datenabank darüber steuern ?

Ihr seht Fragen über Fragen , ich brauche da euren Rat, wie Ihr es machen würdet. Vielleicht gibt es ja noch andere Lösungswege ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 13:59
Leg die Version doch in der Datenbank ab und dann ein Updateskript von Version x auf x+1. Beim Update führst du dann rekursiv die updateskripte aus bis die Zielversion ereicht ist.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 14:09
Zitat von mkinzler:
Leg die Version doch in der Datenbank ab und dann ein Updateskript von Version x auf x+1. Beim Update führst du dann rekursiv die updateskripte aus bis die Zielversion ereicht ist.
Danke für Deine schnelle Antwort. Das hört sich schonmal nicht schlecht an. Nur habe ich halt den Fehler begangen, nicht von anfang an daran zu denken. Deshalb bin ich im Moment der Meinung, das Dein Vorschlag in der jetzigen Situation schwer umzusetzen ist. Ich werde aber darüber aber noch nachdenken, während ich noch auf andere Vorschläge warte.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 14:28
Weist du noch, welceh DB-Änderungen mt welcher Programmversion erstellt wurden? Dann kannst du die Updateschritte anhand der vorhandenen Programmversion statt der Datenbankversion bestimmen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 15:23
Der Ansatz mit der Programmversion gefällt mir doch um einiges besser. Ich werde jetzt mal schauen, wie ich das in meinem Sourcecode umsetzen kann.

Edit: Bin aber totzdem noch weiter offen für andere Vorschläge.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 16:11
Hallo Rolf,

ich denke mkinzler hat alles wichtige gesagt. Ich hatte/habe ein ähnliches Problem da konnte ich es mir aber erlauben 5 Updates nochmal laufen zu lassen. Da jedesmal nur geändert wurde, was noch nicht vorhanden war. Für mich war's einfach aber bestimmt nicht elegant.

Grüße
K-H
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 16:51
Es ist alles eine Frage des Aufwands. Man kann natürlich auch die vorhandene Datenbankstruktur mit der Zielstruktur vergleichen und dann spzifisches Skript generieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 17:10
Ich habe das irgendwie nicht von Anfang an richtig durchdacht. Ich hänge im Moment daran, wie ich das mit den unterschiedlichen SQL-Skripten machen soll. Nur ich finde irgendwie keinen richtigen Ansatz dafür. Am einfachsten wäre, dass ich ein SQL-Skript mit if Abfragen habe. Damit hätte ich am wenigsten Aufwand. Oder kann ich innerhalb der Komponente TIBScript auf die INSERT-Statement reagieren ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 17:12
In einem Execute Block stehen alle PL Konstrukte zur verfügung
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

Re: IBScript und INSERT - Befehl

  Alt 31. Dez 2008, 17:56
Zitat von mkinzler:
In einem Execute Block stehen alle PL Konstrukte zur verfügung
Kannst Du mir dazu ein Beispiel geben bitte, da ich keinen blassen Schimmer habe, was PL Konstrukte sind ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:55 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