Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 12:36 Der er 12 kommentarer og
1 løsning

column description

Hey,

Er der nogen der har prøvet at hente værdien for beskrivelsen af et felt ind i en asp side fra en MS SQL base?

Problematikken består i at der ofte er brugt _ på feltnavne da felterne bliver oprettet. Men jeg vil gerne have en mere sigende overskrift for givne kolonner der bliver fundet i flg. kald:

Response.Write "<TD CLASS=header>" & Info.Fields(i).Name & "</TD>"

Den giver lidt guffe points!

-B
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 12:39 #1
select column_name
from information_schema.columns
where table_name='<DitTabelNavn>'

Denne giver dig feltnavnene i en angivet tabel. Den skal åbnes og behandles som ethvert andet recordset.
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 12:44 #2
Den prøver vi lige før du bliver tildelt de ufattelig mange points.
-B
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 12:53 #3
Det virker umiddelbart ikke.
Kan det tænkes at der er mere i det end at åbne det med:
Set DescriptionInfo = Server.CreateObject("ADODB.Recordset")

Querystr_Description = "select column_name from information_schema.columns where table_name='Dealers'"
DescriptionInfo.CursorLocation = 3 'client
DescriptionInfo.CursorType    = 3 'static   
DescriptionInfo.Open Querystr_Description, cn

Og vise det med:
        For i = 2 To DescriptionInfo.Fields.Count - 1
            Response.Write "<TD CLASS=header>" & DescriptionInfo.Fields(i).Value & "</TD>"

        NEXT %>

??
-B
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 13:00 #4
HUBBA
Det er jo column_name jeg får fat i igen. Den har jeg fundet ved blot at skrive oRS.Fields(i).name
Hvad jeg behøver er description. Og den er ikke umiddelbar at finde for mig.
-B
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 13:24 #5
Prøv den her:

SELECT  *
FROM  ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', '<DitTabelNavn>', 'column', default)
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 13:32 #6
Den er godt nok noget sløv. Hvad består denne fine linie af?
-B
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 13:36 #7
Jeg går ud fra, at du lægger description ind på felterne i Enterprise Manager. Den måde, det håndteres på i forhold til databasen, er at sætte nogle extended properties på tabellen.

Min SQL lister disse extended properties på den tabel, der er angivet i stedet for <DitTabelNavn>.
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 13:58 #8
Den gav hvad jeg spurgte efter, så her er points.

-B
Avatar billede terry Ekspert
08. oktober 2002 - 14:03 #9
You can alos use the System stored procedures for doing this.
Look in books online after "System stored procedures" They start with sp_
for example:
sp_columns (T-SQL)
Returns column information for the specified tables or views that can be queried in the current environment.

Syntax
sp_columns [@table_name =] object
    [,[@table_owner =] owner]
    [,[@table_qualifier =] qualifier]
    [,[@column_name =] column]
    [,[@ODBCVer =] ODBCVer]

.
.
.
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 14:06 #10
terry>> The stored procedure you reference does NOT fetch the description that you can anter in the table design in Enterprise Manager. Mine does.
Avatar billede terry Ekspert
08. oktober 2002 - 14:08 #11
Hi Benny>Your more than likley right. I was just giving sp_columns as an example, but I am sure there are other sp_'s which do. Thats whay I suggested looking in Books Online
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 14:10 #12
Hi Terry >> I've been sarching Books Online for the better part of an hour with regard to system stored procedures. None of then and none of the system tables will return the description.
Avatar billede terry Ekspert
08. oktober 2002 - 14:20 #13
Well then we will have to use your example Benny :o)
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