AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TIBStoredProc und BIGINT Parameter
Thema durchsuchen
Ansicht
Themen-Optionen

TIBStoredProc und BIGINT Parameter

Ein Thema von Meta777 · begonnen am 19. Dez 2006 · letzter Beitrag vom 24. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

Re: TIBStoredProc und BIGINT Parameter

  Alt 20. Dez 2006, 18:21
Zitat von Hansa:
Zitat von Meta777:
@hansa: Das es hier um Int64 geht haste wohl übersehen?
Mann, mann, ein falsches Wort und es ist schon zuviel verlangt, dass die Beteiligten mal ihr Gehirn einschalten. Man gebe einen . ein und dann noch ein "A". Was sieht man ? AsInt64, AsBcd, AsExtentded usw. Muss man halt selber mal überlegen, was am besten passt.
Ich komme schon zu Rande mit meiner IDE... Awa Recht haste; bei .Params gibt es ein AsInt64 nur wenn die Procedure ausgeführt wird gibs eine "Ungültige Datenkonvertierung" Exception. Deswegen wahrscheinlich der Vorschlag von Lemmy zum TIBDataset zu Wechseln, da ja wohl die IBX nicht ganz "fertig" entwickelt worden waren bzw. TIBQuery und andere Kompos "nicht benutzt werden" sollten, orso ...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#12

Re: TIBStoredProc und BIGINT Parameter

  Alt 20. Dez 2006, 18:34
Zitat von Meta777:
Ich komme schon zu Rande mit meiner IDE...
Mit Google aber anscheinend nicht. 8) Mein Beispiel war schon die Umsetzung in Delphi. Und zwar von so was :

Zitat:
Datensätze pro Tabelle in einer DB
Mit folgender Stored Procedure kann man sich schnell einen Überblick über die Anzahl der Datensätze in allen Tabellen einer Datenbank verschaffen:

SQL-Code:
CREATE PROCEDURE SP_SERVERISTATISTIK
RETURNS (
    TABLOAD VARCHAR(50),
    TABSIZE BIGINT)
AS
begin
   for
     SELECT RDB$RELATION_NAME
     FROM RDB$RELATIONS
     WHERE
     (RDB$RELATION_NAME NOT LIKE 'RDB$%')
     and
     (RDB$VIEW_SOURCE IS NULL)
     INTO
     :TABLOAD
   DO
   BEGIN
     execute statement 'SELECT CAST(COUNT(*) AS BIGINT) FROM "' || TABLOAD || '"'
     INTO :TABSIZE;
     suspend;
   END
end
Die erste Abfrage selektiert alle echten Tabellen (RDB$VIEW_SOURCE IS NULL), die keine Systemtabellen sind (RDB$RELATION_NAME NOT LIKE 'RDB$%').

Pro Tabelle wird die Anzahl der Datensätze ausgelesen.



Diese Stored Procedure kann man wie eine Tabelle abfragen:

SELECT * FROM SP_SERVERISTATISTIK;
Quelle : http://www.rrze.uni-erlangen.de/hilf...bird-faq.shtml

Wiederholung : den Rest macht As??????
Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: TIBStoredProc und BIGINT Parameter

  Alt 21. Dez 2006, 09:01
Guten Morgen,

vielleicht liegt es an mir, dass ich nicht kapiere was Du uns mitteilen willst Hansa. Fakt ist halt, dass Teile von IBX (zumindest in der Version die ich vorliegen habe) INT64 nicht unterstützt, da kannst Du noch so oft AS schreiben - IBDataSet/IBStoredProc.ParamByName().AsInt64 gibt's halt nicht...

Evtl. gäb es über Umwege die Möglichkeit in Delphi wieder nen Int64 zu bekommen (ASString und denn StrToInt64) aber das habe ich nicht probiert. Ich weiß nur, dass ich es mal gemacht habe - und es hat auch funktioniert.

@Meta777: Leider bin ich gestern nicht mehr dazu gekommen meinen Rechner anzumachen....

Lemmy
  Mit Zitat antworten Zitat
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

Re: TIBStoredProc und BIGINT Parameter

  Alt 21. Dez 2006, 12:08
Zitat von Lemmy:
Evtl. gäb es über Umwege die Möglichkeit in Delphi wieder nen Int64 zu bekommen (ASString und denn StrToInt64) aber das habe ich nicht probiert. Ich weiß nur, dass ich es mal gemacht habe - und es hat auch funktioniert.
Mit dem TIBDataSet funktioniert es! Sowohl Input- als auch Output-Parameter kann man damit lesen und schreiben. Mit IBStoredProc funktioniert es nicht, jedenfalls kann man kein Int64 Param als String setzen (Ungültige Datenkonvertierung bei .ExecProc...).

Zitat von Lemmy:
@Meta777: Leider bin ich gestern nicht mehr dazu gekommen meinen Rechner anzumachen....
Wenn du es noch schaffst wäre es schön. Denn obwohl es mit TIBDataset als String ja geht wäre eine Alternative, vllt. bessere Lösung nicht verkehrt.

Shalom
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: TIBStoredProc und BIGINT Parameter

  Alt 23. Dez 2006, 10:43
Hi Meta,

sorry, dass es so lange gedauert hat...

Im Moment bin ich total von mir überrascht Denn ich habe das Problem genau so gelöst:

Delphi-Quellcode:
function GetLargeInt(DataSet:TIBDataset; FieldName:String; FieldValue:TpInt64):boolean;
begin
  try
    FieldValue^:=StrToInt64(DataSet.Fields.FieldByName(FieldName).AsString);
    result:=true;
  except
    result:=false;
  end;
end;
Damals hatte ich mich einige Zeit mit dem Problem beschäftigt. Allerdings kann es sein, dass neuere Versionen von IBX den Int64 inzwischen besser unterstützen, ich habe die 7.04, da bei mir mal ne neuere Version mit FB 1.5 Probleme gemacht hat.

Grüße
Lemmy
  Mit Zitat antworten Zitat
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

Re: TIBStoredProc und BIGINT Parameter

  Alt 23. Dez 2006, 23:51
Hi Lemmy,

danke das du dir noch die Mühe gemacht hast und es rausgesucht hast.
Das es so ja mit den StrToInt64 geht, ist es ja auch ok.
Aber mal noch ne andere dowe Frage: Wo gibts die aktuellen Versionen der IBX?
Wir nutzen auch nur die, die mit Delphi 7 mitgeliefert werden...

Danke. Shalom und gesegnete Weihnachten
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: TIBStoredProc und BIGINT Parameter

  Alt 24. Dez 2006, 01:12
Zitat von Meta777:
Aber mal noch ne andere dowe Frage: Wo gibts die aktuellen Versionen der IBX?
Wir nutzen auch nur die, die mit Delphi 7 mitgeliefert werden...
Auf CodeCentral gibts die IBX 7.11 als Update für D7.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  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 09:38 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