Avatar billede omansf Nybegynder
20. oktober 2005 - 10:38 Der er 14 kommentarer og
1 løsning

Select på kolonne navne og datatype for en given tabel

Hej godtfolk
Jeg vil gerne vide noget mere om en interbase jeg skal trække nogle data til web fra. Jeg har brug for at kunne lave en select på tabellernes kolonnenavne samt de enkelte kolonners data type.
Håber der sidder en interbase guru derude.
Jeg har fået adgang til databasens tabeller gennem rdb$relations.

Mvh Ole
Avatar billede cjensen Nybegynder
25. oktober 2005 - 06:50 #1
Select R.RDB$FIELD_NAME, R.RDB$FIELD_POSITION,
F.RDB$COMPUTED_BLR, R.RDB$DEFAULT_VALUE,
R.RDB$NULL_FLAG,
F.RDB$FIELD_LENGTH, F.RDB$FIELD_SCALE,
F.RDB$FIELD_TYPE, F.RDB$FIELD_SUB_TYPE,
F.RDB$EXTERNAL_LENGTH, F.RDB$EXTERNAL_SCALE, F.RDB$EXTERNAL_TYPE
from RDB$RELATION_FIELDS R, RDB$FIELDS F
where R.RDB$RELATION_NAME = 'DIN_TABEL'
and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME
order by R.RDB$FIELD_POSITION


RDB$FIELD_TYPE er:
text                      =        14
text2                      =        15
short                      =          7
long                      =          8
quad                      =          9
float                      =        10
double                    =        27
d_float                    =        11
timestamp / date          =        35
varying                    =        37
varying2                  =        38
blob                      =        261
cstring                    =        40
cstring2                  =        41
blob_id                    =        45
sql_date                  =        12
sql_time                  =        13
int64                      =        16
boolean_dtype              =        17
Avatar billede omansf Nybegynder
25. oktober 2005 - 08:36 #2
Mange tak!
Jeg afprøver det i dag - kan du ikke ligge et svar ind så jeg kan godkende dig cjensen?

/Ole
Avatar billede cjensen Nybegynder
25. oktober 2005 - 08:38 #3
Jamen, så håber jeg det kommer til at virke!
:)
/Charles
Avatar billede omansf Nybegynder
26. oktober 2005 - 11:04 #4
Jeg har lige testet det og jeg får ikke rigtigt noget ud af det andet end een række med tomme felter.Kan disse informationer være spærret for mig via database rettigheder?
Avatar billede cjensen Nybegynder
27. oktober 2005 - 16:12 #5
Giver den her noget?

Select R.RDB$FIELD_NAME, R.RDB$FIELD_POSITION,
F.RDB$COMPUTED_BLR, R.RDB$DEFAULT_VALUE,
R.RDB$NULL_FLAG,
F.RDB$FIELD_LENGTH, F.RDB$FIELD_SCALE,
F.RDB$FIELD_TYPE, F.RDB$FIELD_SUB_TYPE,
F.RDB$EXTERNAL_LENGTH, F.RDB$EXTERNAL_SCALE, F.RDB$EXTERNAL_TYPE
from RDB$RELATION_FIELDS R, RDB$FIELDS F
where R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME
order by R.RDB$FIELD_POSITION
Avatar billede omansf Nybegynder
27. oktober 2005 - 16:18 #6
Ja en hel masse!
Avatar billede omansf Nybegynder
27. oktober 2005 - 16:19 #7
Noget af det ligner også tabel informationer i form af kolonne navne..
Avatar billede omansf Nybegynder
27. oktober 2005 - 16:22 #8
Virker bare ikke når jeg udvælger på R.RDB$RELATION_NAME = 'DIN_TABEL'
Avatar billede cjensen Nybegynder
27. oktober 2005 - 16:54 #9
DIN_TABEL = den tabel du skal have felt-navn + typer fra
Avatar billede omansf Nybegynder
27. oktober 2005 - 16:57 #10
:) Nemlig - jeg skifter den ud med navnet på de tabeller jeg forspørger på.
Avatar billede cjensen Nybegynder
27. oktober 2005 - 17:00 #11
Så burde der også komme lidt resultat.
Den er case-sensitiv, - har du prøvet med kun store bogstaver i DIN_TABEL ?
:)
Avatar billede omansf Nybegynder
27. oktober 2005 - 17:03 #12
Jeg prøver lige med case sensitive.
Avatar billede cjensen Nybegynder
01. november 2005 - 12:47 #13
Kom det til at virke?
Avatar billede cjensen Nybegynder
22. november 2005 - 09:04 #14
?
Avatar billede omansf Nybegynder
22. november 2005 - 09:16 #15
Nej der er noget sikkerheds sjov der forhindrer mig i at gøre de ting, men jeg har taget den lange vej omkring det og oprettet kolonnerne manuelt... I en anden database og herefter kopieret data over.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester