Anslut och använda en databas på sin ASP sida.
Förord
En del kanske vill ha en enkel men fungerande databas anslutning till sin asp-sida men vet inte riktigt hur man ska göra. I denna artikel kommer jag att beskriva att det faktiskt inte är alls är så svårt att ha det på sin sida.Denna artikel kommer att förklarar hur du ansluter en databas i en asp sida, hur du hämtar information och visa det på asp-sida, hur man redigerar och ta bort information på databasen via sin asp sida.
Det första som behövs är ju själva anslutningen till din databas som i detta exempel är en Microsoft access databas.
Denna anslutning är lika dan när det gäller att visa, redigera eller ta bort data från en access databas.
Det första man gör är att deklarera en variabel "conn" och länkat till en access databas som heter databasen.mdb.
Att kunna ställa en fråga till databasen är ett måste eftersom annars vet ju inte koden vilken information som ska hämtas.
Det första man gör är att deklarera en variabel "sql" som kommer att innerhålla den sträng som databasen ska gå efter.
Denna enkla sql sträng gör att den hämtar all information som finns i tabellen som heter "tabell".
(Många använder * i select och det gör att servern får jobba extra helt i onödan, skriv in istället den kolumn du vill ha.
Är det fler än en kolumn du vill ha så använd , mellan, ex kolumn1, kolumn2)
Nu gäller det att köra den sql sträng du innan skapade
Som innan så deklarerade jag en ny variabel "rs". Detta gör att all information finns nu i variabel rs fast att det finns där gör oss ingen nytta så vi måste ju hämta ut datan.
Nu kommer det som är det intressantaste hur man snyggt får ut informationen på din asp sida.
Denna kod gör att de loopar all information som finns i tabellen (Do Until rs.EOF).
Den skriver sedan ut all data till asp sidan (response.write) som finns i kolumnen (rs("kolumn"))
Sen går den till nästa rad (rs.MoveNext)
Till sist så läser den av att den ska gå tillbaka (Loop)
Man behöver inte stänga av om man inte vill eftersom den dör endå när det är klart men är alltid bra att göra det endå.
Detta kan man göra alltid, det kvittar om det ska lägga in, ändra eller ta bort data ur databasen.
Sådär nu vet du hur man öppnar och hämtar data från en access databaser.
Nästa avsnitt ska vi lägga in information i en access databas.
Du gör exakt lika dan när du ska ansluta till en databas
Med SQL kan man bestämma vad for information som ska in i databasen.
I detta fall så ska det in information in i en tabell som heter tabell. Sen bestämmer vi att
det ska fylla in i kolumnerna Rubrik och Texten. Informationen man ska lägga in gör man
i Value eftersom det är text så måste du ha med en ' på båda sidorna av texten.
Att bygga upp det så här och inte en enda lång sträng gör att det blir lättare att felsöka om det blir problem.
Den sista raden conn.Execute(sql) startar överföringen.
Nu är de bara att avsluta genom att stänga databasen
Nu ska vi redigera den information som finns i databasen genom att ändra en befintlig information som finns i databasen.
Som vanligt så skapar vi en anslutning till databasen
I detta exempel så ska vi byta ut information på en rad som har ett viss id nummer
Denna SQL gör att den ska byta ut någon information av personen som har idnummer (id) 123 i en tabell men namnet tabell
Nu är de bara att avsluta genom att stänga databasen
Nu ska vi ta bort information som finns i databasen.
Som vanligt så skapar vi en anslutning till databasen
Nu ska vi ta bort en person som har ett vis idnummer
Nu markera den att personen som har idnummer (idnr) 13 ska tas bort från tabellen (tabell)
Nu är de bara att avsluta genom att stänga databasen
Nu kommer jag visa en sammanfattning på visa, ändra och ta bort data
Visa information
Skapa nytt
Redigera data
Radera data
Jag hoppas att detta har hjälpt er att enkelt ansluta och använda en databas på eran ASP sida.
Anslutningen till databasen
Det första som behövs är ju själva anslutningen till din databas som i detta exempel är en Microsoft access databas.Denna anslutning är lika dan när det gäller att visa, redigera eller ta bort data från en access databas.
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
Det första man gör är att deklarera en variabel "conn" och länkat till en access databas som heter databasen.mdb.
Ställa en fråga – SQL (Hämta data)
Att kunna ställa en fråga till databasen är ett måste eftersom annars vet ju inte koden vilken information som ska hämtas.
Dim sql
sql = "SELECT * FROM tabell"
Det första man gör är att deklarera en variabel "sql" som kommer att innerhålla den sträng som databasen ska gå efter.
Denna enkla sql sträng gör att den hämtar all information som finns i tabellen som heter "tabell".
(Många använder * i select och det gör att servern får jobba extra helt i onödan, skriv in istället den kolumn du vill ha.
Är det fler än en kolumn du vill ha så använd , mellan, ex kolumn1, kolumn2)
Köra SQL strängen
Nu gäller det att köra den sql sträng du innan skapade
Dim rs
Set rs= conn.Execute(sql)
Som innan så deklarerade jag en ny variabel "rs". Detta gör att all information finns nu i variabel rs fast att det finns där gör oss ingen nytta så vi måste ju hämta ut datan.
Skriv ut data på asp sidan
Nu kommer det som är det intressantaste hur man snyggt får ut informationen på din asp sida.
Do Until rs.EOF
Response.write rs("kolumn")
rs.MoveNext
Loop
Denna kod gör att de loopar all information som finns i tabellen (Do Until rs.EOF).
Den skriver sedan ut all data till asp sidan (response.write) som finns i kolumnen (rs("kolumn"))
Sen går den till nästa rad (rs.MoveNext)
Till sist så läser den av att den ska gå tillbaka (Loop)
Stäng av allt (Hämta data)
Man behöver inte stänga av om man inte vill eftersom den dör endå när det är klart men är alltid bra att göra det endå.
Detta kan man göra alltid, det kvittar om det ska lägga in, ändra eller ta bort data ur databasen.
rs.close
conn.close
Sådär nu vet du hur man öppnar och hämtar data från en access databaser.
Nästa avsnitt ska vi lägga in information i en access databas.
Lägga in data i databasen
Du gör exakt lika dan när du ska ansluta till en databas
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
Visa med SQL satsen var den ska hamna
Med SQL kan man bestämma vad for information som ska in i databasen.
sql = "INSERT INTO tabell"
sql = sql & "(Rubrik,Texten) "
sql = sql & "VALUES ('En Rubrik', "
sql = sql & "'Lite text');"
conn.Execute(sql)
I detta fall så ska det in information in i en tabell som heter tabell. Sen bestämmer vi att
det ska fylla in i kolumnerna Rubrik och Texten. Informationen man ska lägga in gör man
i Value eftersom det är text så måste du ha med en ' på båda sidorna av texten.
Att bygga upp det så här och inte en enda lång sträng gör att det blir lättare att felsöka om det blir problem.
Den sista raden conn.Execute(sql) startar överföringen.
Nu är de bara att avsluta genom att stänga databasen
conn.close
Ändra informationen
Nu ska vi redigera den information som finns i databasen genom att ändra en befintlig information som finns i databasen.
Som vanligt så skapar vi en anslutning till databasen
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
I detta exempel så ska vi byta ut information på en rad som har ett viss id nummer
sql = "UPDATE tabell SET texten='En ny text' , Rubrik='En ny rubrik' WHERE id =123"
conn.Execute(sql)
Denna SQL gör att den ska byta ut någon information av personen som har idnummer (id) 123 i en tabell men namnet tabell
Nu är de bara att avsluta genom att stänga databasen
conn.close
Ta bort information från en database
Nu ska vi ta bort information som finns i databasen.
Som vanligt så skapar vi en anslutning till databasen
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
Nu ska vi ta bort en person som har ett vis idnummer
sql = "DELETE * FROM tabell WHERE id=13"
conn.Execute(sql)
Nu markera den att personen som har idnummer (idnr) 13 ska tas bort från tabellen (tabell)
Nu är de bara att avsluta genom att stänga databasen
conn.close
Avslutningvis
Nu kommer jag visa en sammanfattning på visa, ändra och ta bort dataVisa information
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
Dim sql
sql = "SELECT kolumn FROM tabell"
Dim rs
Set rs= conn.Execute(sql)
Do Until rs.EOF
Response.write rs("kolumn")
rs.MoveNext
Loop
rs.close
conn.close
Skapa nytt
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
sql = "INSERT INTO tabell"
sql = sql & "(Rubrik,Texten) "
sql = sql & "VALUES ('En Rubrik', "
sql = sql & "'Lite text');"
conn.Execute(sql)
conn.close
Redigera data
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
sql = "UPDATE tabell SET texten='En ny text' , Rubrik='En ny rubrik' WHERE id =123"
conn.Execute(sql)
conn.close
Radera data
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databasen.mdb")
sql = "DELETE * FROM tabell WHERE id=13"
conn.Execute(sql)
conn.close
Jag hoppas att detta har hjälpt er att enkelt ansluta och använda en databas på eran ASP sida.
Benni Svensson
Jag förutsätter att du med denna artikel har tänkt på nybörjare i första hand, då vore det bra att bestämt visa de grundläggande sakerna. >data.Open "SELECT * FROM tabell WHERE 1=2", conn, 2, 3 Detta är inget bra sätt att öppna en SQL på, det vore bättre att du talade om att man vinner på att enbart ta med de fält man behöver, och sedan anropa dem. Jag är heller ingen vän av >data.AddNew >data("kolumn") = “Hej Hej” >data.Update Det är mycket effektivare att använda sig av ren SQL, och i ditt fall att du klart visade det. Idén att skriva en artikel av denna typ, tycker jag därimot om, det märks ju också på de frågor som kommer upp, så det är bra.
Carsten Johansson
Japp det stämmer att det är bra så fast jag tog bara en rent basic sak. Finns mycket man kan kommenterar om hur SQL och det ska köras och jag har sett mycket värre koder. Att använda en ren SQL kod är mycket bra men att förklarar ibland för nybörjare kan bli väldigt svårt. Jag kan erkänna att jag inte tänkte på att man inte ska använda * om man bara ska ha en viss kolumn. Denna artikel gjorde jag till mina klasskamrater eftersom dom kan Noll, Zero, inget om ASP och inte heller databasanslutning. Skrev in den här eftersom jag hittade ingen basic hur man ansluter access till ASP
Peter Svensson
* bör aldrig användas även om man har tänkt att hämta alla kolumner. För att reducera belastning på servern är det alltid bäst att specifikt ange vad man vill hämta.