Funktionen funcDBtoXML

ASP

14 svar · 294 visningar · startad av SPiN

Medlem sedan mars 20007 896 inlägg
Trådstart#1

Halloj!

Tänkte bara informera om att det nu ligger ett nytt script uppe, som konverterar resultatet från en SQL-fråga till en XML-fil.

Mer information och själva funktionen hittar du här <- Uppdaterade versionen

Det här är tänkt som diskussionstråden för min funktion, om någonting inte fungerar som det ska, eller vid allmäna frågor. Självklart går det likabra att undra via mail :)

Medlem sedan juni 20008 205 inlägg
#2

Vore det inte smartare att bara returnera xml-objektet i stället för att dumpa allt på en fil och sedan läsa in den? Så kan man välja vad man vill göra, liksom :)
Smart pryl annars!

Medlem sedan mars 20007 896 inlägg
#3

Det har du rätt i... Vore lite smartare :)

Jag har kommit på lite fler saker som skulle kunna vara bra att lägga till, t.ex. ett attribut i varje element där typen av databasfältet står. Kanske skulle vara något det också?

Det får bli en version två, när jag orkar ändra... ;)

Medlem sedan mars 20007 896 inlägg
#4

Ok, nu har jag lagt upp en ny version. Varför går det inte att ta bort sina uppladdade filer, eller ladda upp nya när man redigerar sina script? x(

Nu blev jag tvungen att skapa en ny tråd... Ska snacka med Hazze, så att han får ta bort det gamla scriptet och tillhörande tråd.

Nya versionen hittas här.

Medlem sedan juni 20019 024 inlägg
#5

Hallo!

Kan någon förklara för mig vad XML är bra för? Att lagra större datamängder har jag förstått, men varför är det bättre än databaser då? :q

Medlem sedan mars 20007 896 inlägg
#6

Informationsutbyte mellan olika system, m.m. Hittade en bra länk, här, när jag sökte i XML-forumet :)

Medlem sedan juni 20019 024 inlägg
#7

Aha, där blev jag lite klokare! :)
Fast hur presenterar man resultatet från en XML fil som ett HTML-dokument? :q
Och kan man göra sökningar, likt SQL?

Medlem sedan dec. 19998 577 inlägg
#8

Du presenterar XML:en med te.x XSL eller genom att hämta in datat i ASP och forma den efter tycke... det är intressant med XML är att du kan hämta informationen ifrån andra http-adresser. Så du kan generera data på en sajt, som sedan andra använder på andra sajter, och på så sätt uppdateras alla sajterna direkt när "huvud"-sajten uppdateras... nu är det ju inte så nytt, men ganska praktiskt... :)

Medlem sedan mars 20007 896 inlägg
#9

Tillägg till Vides utmärkta utlägg: MAn kan också formatera sin XML med vanlig enkel CSS, även fast XSL är mycket mer användbart.

Och kan man göra sökningar, likt SQL?

Ja, på flera olika sätt. Du kan med XSL hämta ut vilken data du vill använda, och du kan via ASP hämta data, och du kan skapa ett RecordSet på ett XML-dokument och sedan söka med SQL. (Har jag för mig, inte riktigt säker på den punkten.)

Medlem sedan dec. 19998 577 inlägg
#10

Och för att spinna ännu mera kan jag skicka med denna länk där ett exempel på hur lägger in XML-data i ett recorset: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprvmicrosoftoledbsimpleprovider.asp

Medlem sedan juni 20019 024 inlägg
#11

Jag förmodar att det finns program för att skapa XML dokument, om man till exempel lagt in 2 000 poster och vill lägga till ett fält... :x ;)

Medlem sedan dec. 19998 577 inlägg
#12

Det gör nog lättast med ett program i ASP. Det finns sätt i XML DOM att lägga till nya noder i dokumentet.

Medlem sedan juni 20008 205 inlägg
#13

Och kan man göra sökningar, likt SQL?

XQL, heter det. STW.

Medlem sedan dec. 19998 577 inlägg
#14

Hur sätter du datatyperna? Hämtar du det som står i db:n, eller hittar du på egna?

Varför jag undrar är att man skulle kunna använda xml-dokumentet för att skapa en helt ny tabell via SQL. I sånna fall skulle jag vilja ha info om tabellens namn, och om något fält är en primärnyckel... :)

Medlem sedan mars 20007 896 inlägg
#15

Datatyperna hämtar jag från tabellen, och översätter dem med en select case-sats som ser ut så här:

Select Case cInt(objFld.Type)
	Case 202
		objAttribute.Text = "Text"
	Case 203
		objAttribute.Text = "Memo"
	Case 3
		objAttribute.Text = "Number"
	Case 135
		objAttribute.Text = "Date"
	Case 6
		objAttribute.Text = "Currency"
	Case 11
		objAttribute.Text = "Boolean"
	Case 205
		objAttribute.Text = "OLE Object"
	Case Else
		objAttribute.Text = "Unkown"
End Select

Jag tror att det är omöjligt att få ut tabellnamnet ur ett RecordSet, men att få veta vilket fält som är primärnyckel borde ju gå att lista ut. *hmm*

Återkommer lite senare, ska försöka hitta något :)

Red} OBS! Jag har anpassat funktionen efter en Access-databas, så fälttyperna borde ju skilja på sig mellan Access, SQL Server, MySQL, osv. Lita inte helt på dem om du nu använder en annan DBMS :)

376 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
118 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)