11. juni 2002 - 21:01Der er
24 kommentarer og 1 løsning
Database sjov...
Er der nogle som kan komme med nogle gode links til hvor man kan læse/lære noget om at hente oplysninger ud om selve databasen. Det som jeg er på jagt efter er f.eks. oplysninger om hvilke tabeller der er, de forskellige felter i den, og de egenskaber de nu har. Hvis det kræver mere uddybende beskrivelse så bare sig til :o)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
det var ikke helt det jeg var på jagt efter, jeg mangler en artikel som beskriver hvordan man henter de forskellige oplysninger. så vidt jeg hurtigt kunne læse drejede dette sig om et færdigt script :-( jeg skriver i øvrigt VbScript kan ikke helt overkomme at skulle til at læse JS udgaven :-)
Jeg ved det egenlig ikke for at være ærlig. Det jeg skal bruge det til er at jeg kan få listet alle de tabeller der f.eks. er i en database, uden at jeg kender dem på forhånd, håber at du forstår mig. Jeg kan sagten gå ind og finde sådan nogle scripts, men det jeg er på jagt efter er en side som beskriver hvordan, i stedet for copy/paste teknologien.
der er åbenbart ikke nogle der rigtig har fået fat i det :)
Function datatyper(dtype,dattributes) If dtype = 0 Then tmp = "Empty" If dtype = 16 Then tmp = "TinyInt - Tal" If dtype = 2 Then tmp = "SmallInt - Tal" If dtype = 3 Then tmp = "Integer - Tal" If dtype = 16 Then tmp = "TinyInt - Tal" If dtype = 20 Then tmp = "BigInt - Tal" If dtype = 17 Then tmp = "UnsignedTinyInt - Tal" If dtype = 18 Then tmp = "UnsignedSmallInt - Tal" If dtype = 19 Then tmp = "UnsignedInt - Tal" If dtype = 21 Then tmp = "UnsignedBigInt - Tal" If dtype = 4 Then tmp = "Single" If dtype = 5 Then tmp = "Double - Kommatal" If dtype = 6 Then tmp = "Currency - Valuta" If dtype = 14 Then tmp = "Decimal - Kommatal" If dtype = 131 Then tmp = "Numeric - Nummerisk" If dtype = 11 Then tmp = "Boolean - Sand/Falsk" ' If dtype = 11 Then tmp = "Error" If dtype = 132 Then tmp = "UserDefined" If dtype = 12 Then tmp = "Variant" If dtype = 9 Then tmp = "Dispatch" If dtype = 13 Then tmp = "Unknown" If dtype = 72 Then tmp = "Guid" If dtype = 7 Then tmp = "Date - Dato" If dtype = 133 Then tmp = "DBDate - Database Dato" If dtype = 134 Then tmp = "DBTime - Database Tid" If dtype = 135 Then tmp = "Timestamp - Dato og tid" If dtype = 8 Then tmp = "BSTR" If dtype = 129 Then tmp = "Char - Tekst" If dtype = 200 Then tmp = "VarChar - Tekst" If dtype = 201 Then tmp = "LongVarChar - Tekst" If dtype = 130 Then tmp = "WChar - Tekst" If dtype = 202 Then tmp = "VarWChar - Tekst" If dtype = 203 Then tmp = "LongVarWChar - Tekst" If dtype = 128 Then tmp = "Binary - Binær" If dtype = 204 Then tmp = "VarBinary - Binær" If dtype = 205 Then tmp = "LongVarBinary - Binær" if tmp = "" then tmp = "Ukendt" end if datatyper = tmp End Function
set rs = Conn.Execute("Select * from " & tabel) For each head IN rs.Fields response.write "feltnavn:" & head.name & "Type" & datatyper(head.type,head.attributes) Next
<table width="100%"> <tr> <% set rs = Conn.Execute("Select * from tabel") For each head IN rs.Fields response.write "<td>" & head.name & "</td>" next %> </tr> <% Do until rs.eof %> <tr> <% For each head in rs.Fields a = head.value response.write "<td>" If len(a) >= 1 then response.write server.htmlencode(a) end if response.write " </td>" Next %> </tr> <% rs.movenext loop %> </table>
' Henter navn og type på alle tabeller i DB function funcGetAllTableNamesAndType(ShowWhat,ColNum,Criteria) dim objConn dim objRS dim whatever dim strTekst dim TestArray
Const adUseClient = 3 Const adSchemaTables = 20
Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("db.mdb")) objConn.CursorLocation = adUseClient set objRS = objConn.OpenSchema(adSchemaTables)
strTekst = strTekst & "<TABLE BORDER=""0"" cellspacing=""1"" cellpadding=""3"" STYLE=""font: 10px Verdana, Geneva, Arial, Helvetica, sans-serif;""><TR>" & vbcrlf ' Lav header ud fra Field Names for each whatever in objRS.fields strTekst = strTekst & "<TD ALIGN=""left"" NOWRAP BGCOLOR=""#C0C0C0"">" & whatever.name & "</TD>" & vbcrlf next strTekst = strTekst & "</tr>" & vbCrLf
' Hent lortet ind i array TestArray=objRS.getrows Set objRS = Nothing ' Udskriv alle rows i arrayet strTekst = strTekst & fWriteArray(TestArray,ShowWhat,ColNum,Criteria)
Function fWriteArray(TestArray,ShowWhat,ColNum,Criteria) dim numcols dim numrows dim rowcounter dim colcounter dim thisfield dim shownull dim showblank dim strTmp
showblank=" " shownull="-null-"
numcols=ubound(TestArray,1) numrows=ubound(TestArray,2) FOR rowcounter= 0 TO numrows
' Udskriv alle tabeltyper eller kun type "TABLE" If ShowWhat = "all" Then strTmp = strTmp & "<TR>" & vbcrlf FOR colcounter=0 to numcols thisfield=TestArray(colcounter,rowcounter) if isnull(thisfield) then thisfield=shownull end if if trim(thisfield)="" then thisfield=showblank end if strTmp = strTmp & "<TD ALIGN=""left"" NOWRAP BGCOLOR=""#DDDDDD"">" strTmp = strTmp & thisfield strTmp = strTmp & "</TD>" & vbcrlf NEXT strTmp = strTmp & "</TR>" & vbcrlf Else If TestArray(ColNum,rowcounter) = Criteria Then strTmp = strTmp & "<TR>" & vbcrlf FOR colcounter=0 to numcols thisfield=TestArray(colcounter,rowcounter) if isnull(thisfield) then thisfield=shownull end if if trim(thisfield)="" then thisfield=showblank end if strTmp = strTmp & "<TD ALIGN=""left"" NOWRAP BGCOLOR=""#DDDDDD"">" strTmp = strTmp & thisfield strTmp = strTmp & "</TD>" & vbcrlf NEXT strTmp = strTmp & "</TR>" & vbcrlf End If End If
jeg siger rigtig mange tak, nu har jeg igen noget at lave når den sidste eksamen samt studenter runden er færdig.
/Søren Søndergård
Synes godt om
Ny brugerNybegynder
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.