Autor |
Beitrag |
D. Annies
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mo 19.12.05 21:04
Hi, Delpher,
na, den Rüffel von gestern habe ich ernst genommen und - in ca. 2,5 min eine Stored Procedure in Interbase erstellt. Sie stellt in einer Tabelle den längsten Namen fest und hat als Ausgabeparameter die Variable :Max_Name.
Nun meine Probleme:
1. Wie kann ich den Prozedurnamen von NEW_PROCEDURE verändern?
2. Wie kann ich im Delphi-Code den Ausgabeparameter z. B. in einem Label ausgeben?
Danke für eure Hilfe, sagt
Detlef Annies
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 19.12.05 21:28
Den Prozedurnamen kann man normalerweise nicht ändern, dazu müsste man an die Systemtabelle, würde ich Dir aber nicht empfehlen. Gib Dir den Meta-Text von der Prozedur, ändere den Namen dort, lösche die alte und erzeuge die SP neu. Ist einfacher und sicherer.
Zu Deiner zweiten Frage: FastgGenauso, wie Du Daten aus Tabellen abfragst:
SELECT * FROM prozedur([Parameter1],[Parameter2]); in einem Query verwenden, dann kannst Du auf die einzelnen Felder zugreifen.
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mo 19.12.05 22:10
Danke für deine Antwort, Uwe!
Detlef
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 20.12.05 20:43
Hi Delpher,
Leider komme ich mit der Antwort nicht zurecht:
"Gib Dir den Meta-Text von der Prozedur, ändere den Namen dort, lösche die alte und erzeuge die SP neu."
Kann man das noch genauer ausdrücken?
Gruß,
Detlef
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 20.12.05 20:58
Kann man zwar etwas genauer sagen, aber nicht viel genauer.  Lösche die SP und lege sie mit richtigem Namen neu an.
Und an die Werte drankommen ? Mit Select.
_________________ Gruß
Hansa
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 20.12.05 21:13
Danke für eure Geduld, aber genau das will mir nicht gelingen: als Namen der Prozedur z. Bleistift Max_Len_Name vergeben.
Gruß,
Detlef A.
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Di 20.12.05 21:36
D. Annies hat folgendes geschrieben: | Danke für eure Geduld, aber genau das will mir nicht gelingen: als Namen der Prozedur z. Bleistift Max_Len_Name vergeben.
Gruß,
Detlef A. |
Arbeitest Du mit IBExpert?
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 20.12.05 21:58
Wird er ja hoffentlich und dann : Procedure auswählen -> Drop Procedure und neu anlegen. Parameter usw. und fertig.
_________________ Gruß
Hansa
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 20.12.05 23:02
Hallo Hansa,
es ist zum Verzweifeln:
Ich lösche die Prozedur (drop), wähle aus neue Prozedur und der Text CREATE PROCEDURE NEW_PROCEDURE wird vorgegeben und ich kann ihn nicht ändern!
Heute ist doch nicht der erste April!!!!
Gruß, Detlef 
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 21.12.05 01:22
D. Annies hat folgendes geschrieben: | Heute ist doch nicht der erste April!!!! |
Sieht aber fast so aus.  Warte eben den 2. ab. 
_________________ Gruß
Hansa
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 21.12.05 01:25
D. Annies hat folgendes geschrieben: | Hallo Hansa,
es ist zum Verzweifeln:
Ich lösche die Prozedur (drop), wähle aus neue Prozedur und der Text CREATE PROCEDURE NEW_PROCEDURE wird vorgegeben und ich kann ihn nicht ändern!
Heute ist doch nicht der erste April!!!!
Gruß, Detlef  |
Hast Du Dir die neueste Version von IBExpert geholt? Hast Du auch bevor Du die SP mit einem Klick auf den Blitz (*g*) erzeugt hast auch den Namen geändert?
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mi 21.12.05 09:11
Hi, UWE,
danke erstmal für deine Geduld. Ja, ich habe die neueste IB-Version.
Ist es richtig, dass ich im Menüpunkt DDL die Proc umbenennen kann?
(Scheint mir so)
Aber wenn ich dann compiliere, - es steht auch etwas von ALTERING PROCEDURE
NEW_PROCEDURE da) hat die Proc wieder ihren Namen NEW_PROCEDURE !(???)
PS. Ist heute schon der zweite April?
Gruß und Frust,
Detlef
|
|
OlliWausD
      
Beiträge: 212
Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
|
Verfasst: Mi 21.12.05 14:18
tag Annis,
du änderst den Namen der SP nicht in dem Reiter DLL, sondern im Quellcode für die SP.
Dort wo du deinen Quelltext reintippst, gibt es oben (links neben den Blitz) die Schaltfläche "Lazy mode On/OFF".
Drück mal da drauf, und du hast den gesamten (reinen) Quellcode der SP vor dir, und nicht das Gui.
Dort geht alles
mfg
OlliW
_________________ Take it easy
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mi 21.12.05 15:52
Hi, Oli  w_aus_d!!
Nun, das war ja eine Freude, deine Nachricht!
DAS war es, was ich nicht wusste!!
Nun ist es wieder ein Kinderspiel.
Herzlichen Dank für dein Interesse und dein genaues Hinsehen, was es denn wohl in meinem Fall noch sein konnte!
Schöne Grüße nach Bamberg aus Lübeck,
Detlef Annies
|
|
OlliWausD
      
Beiträge: 212
Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
|
Verfasst: Mi 21.12.05 17:19
gern geschehen
mfg
OlliW
_________________ Take it easy
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 21.12.05 18:42
Aber in dem Fenster, das Du normalerweise beim Erstellen einer neuen Prozedur vor Dir hast, hast Du auch rechts oben in der Menüleiste den Namen der Prozedur. Dort dürfte er sich auch ändern lassen, dann brauchst Du nicht in den "Expert"-Modus gehen
Ich dachte, genau da lasse sich der Name nicht ändern, das wäre nämlich sehr komisch.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 21.12.05 20:51
Wir reden aneinader vorbei. Es geht darum, ob die SP bereits erzeugt ist oder gerade neu erzeugt wird. Direkt beim Neuanlegen kann man oben rechts den Namen ändern. Da braucht man nicht selber den Quelltext verändern. Drückt man aber den Blitz und hat die Prozedur somit bereits erzeugt, dann ist es zu spät. Der Name läßt sich dann so einfach nicht mehr ändern. Wird wohl an der IB-Sprachdefinition liegen, sonst ginge das sicherlich auch in IBExpert. Also bleibt nichts anderes übrig, als DROP und neu erzeugen.
Und das ist manchmal wegen Abhängigkeiten eventuell gar nicht möglich. Und da auch IBExpert kaum wissen kann, wo und von was die SP gebraucht wird, kann man sie eben nicht ändern, wenn sie mal erzeugt wurde. Als letzten Ausweg in solchen Fällen könnte man aber trotzdem noch was machen : Metadaten extrahieren (eventuell auch mit Daten) und die DB selber löschen. Dann das erzeugte SQL-Script durchgehen und den SP-Name überall ändern. Compilieren und die Daten wieder importieren.
_________________ Gruß
Hansa
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 22.12.05 08:49
Danke für eure "Nachsorge", Uwe und Hansa,
auch dieses Vorgehen werde ich mir mal ansehen.
Gruß,
Detlef
|
|