PostgreSQL DBS_DEC ?

Hier dreht es sich um den PostGre Server

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

PostgreSQL DBS_DEC ?

Beitrag von AUGE_OHR »

hi,

es gibt

Code: Alles auswählen

DLL libpq XIMPORT  ZSTRING   PQfname(HANDLE result,int field_num)
DLL libpq XIMPORT  int       PQftype(HANDLE result, int field_num)
DLL libpq XIMPORT  int       PQfsize(HANDLE result, int field_num)
was mir nun "fehlt" ist, für numerische "Feld"er, die Dezimalstellen DBS_DEC

.... oder gibt es das bei PostgreSQL nicht ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PostgreSQL DBS_DEC ?

Beitrag von AUGE_OHR »

hi,

so wie das aussieht ist es noch viel komplizierter ... :(

Code: Alles auswählen

DLL libpq XIMPORT  int       PQftype(HANDLE result, int field_num)
wie man am Type "INT" sehen kann bekomme ich für den PTf"Type" eine Nummer.
es sind Konstanten http://doxygen.postgresql.org/include_2 ... pe_8h.html

diese hab ich schon identifizert

Code: Alles auswählen

FUNCTION Fieldnumber2type(nNumber)
LOCAL cRet := ""

   DO CASE
      CASE nNumber = 1700 ; cRet := "N"
      CASE nNumber = 1082 ; cRet := "D"
      CASE nNumber = 1042 ; cRet := "C"
      CASE nNumber =   25 ; cRet := "M"  // Text
      CASE nNumber =   17 ; cRet := "O"  // Bitmap
      CASE nNumber =   16 ; cRet := "L"
   OTHERWISE
      cRet := STR(nNumber)
   ENDCASE

RETURN cRet
für "numerisch" hab ich also 1700 ... egal ob Dezimalstellen oder nur INT() ?!

Frage : seht ihr eine Konstante auf die "numerisch" noch passt oder was man noch einbinden sollte.

klar im Prinzip "alle" Konstanten, aber Xbase++ kann ja gar nicht "alle".
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PostgreSQL DBS_DEC ?

Beitrag von AUGE_OHR »

hi,

alles was ich mit PQgetvalue() bekomme ist ein (Z)STRING wegen ot4xb.
nun scheint es PostgreSQL keine Konstante für "DECIMAL" zu geben wie bei MySQL

Code: Alles auswählen

         case nNum == MYSQL_SHORT_TYPE      .OR.;
              nNum == MYSQL_TINY_TYPE       .OR.;
              nNum == MYSQL_LONG_TYPE       .OR.;
              nNum == MYSQL_LONGLONG_TYPE   .OR.;
              nNum == MYSQL_FLOAT_TYPE      .OR.;
              nNum == MYSQL_DOUBLE_TYPE     .OR.;
              nNum == MYSQL_ENUM_TYPE       .OR.;
              nNum == MYSQL_SET_TYPE        .OR.;
              nNum == MYSQL_DECIMAL_TYPE    .OR.;
              nNum == MYSQL_INT24_TYPE
              cTypeXbase := "N"
aber unter "Eigenschaften" eines numerischen "Field" sehe ich in pgAdmin
SQL_Field_Property_Datentyp.PNG
SQL_Field_Property_Datentyp.PNG (35.06 KiB) 7006 mal betrachtet
und wie komme ich da ran ?
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PostgreSQL DBS_DEC ?

Beitrag von brandelh »

Übrigens, falls das das noch nicht bekannt ist :
SQL: Numeric 9,2 => xbase 10,2
Bei SQL wird das Komma nicht mitgezählt ;-)
Gruß
Hubert
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL DBS_DEC ?

Beitrag von UliTs »

brandelh hat geschrieben:Übrigens, falls das das noch nicht bekannt ist :
SQL: Numeric 9,2 => xbase 10,2
Bei SQL wird das Komma nicht mitgezählt ;-)
Was ist denn xbase 10,2 ? 8)
Du meinst sicher die DBF-Struktur :D
Beim ADS ist es so:
SQL (ADT): Numeric 10,2 => DBF 9,2
Da bei ADT-Tabellen sowohl das Komma als auch das Vorzeichen mitgezählt wird!
Bei DBF wird nur bei negativen Zahlen das Komma mitgezählt. Z.B.
N,5,2 hat bei DBF einen Bereich von -9.99 bis 99.99
und
N,5,2 hat bei ADT einen Bereich von -9.99 bis +9.99

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PostgreSQL DBS_DEC ?

Beitrag von brandelh »

UliTs hat geschrieben:Was ist denn xbase 10,2 ? 8)
Du meinst sicher die DBF-Struktur :D
genau und auch Str() und Transform() :D
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PostgreSQL DBS_DEC ?

Beitrag von AUGE_OHR »

hi,

mir ist es mit der "Syntax" hier weniger wichtig ... es wären immer 2 Dezimalstellen.

mir geht es nun um die "Property" ( Eigenschaften ) des "Field" mit Name = "lageraus"

Code: Alles auswählen

METHOD PGResult:fname( i )
LOCAL c := PQfname( ::resID, i )
RETURN c
damit komme ich an den "Field" Namen

Code: Alles auswählen

METHOD PGResult:getValue( nRow, nCol )
LOCAL c := PQgetvalue( ::resID, nRow, nCol )
RETURN c
damit an den "Inhalt"

... und wie an die "Property" ?
auch wird "Datentyp" sicherlich nur eine "übersetzung" sein ... wie heissen die iVars "wirklich"
gruss by OHR
Jimmy
Antworten