Skal lige siges den måde som er beskrevet til hvordan man kan connecte til en database er fra Secnet's support side som viser hvor enkelt man kan lave sine database kald. bruger selv den måde hvis jeg arbejder med Access databaser, men det gør jeg meget meget sjællendt.
Opret en ny ASP-fil ved navn "database.asp" og indsæt følgende kode i den :
<%
Dim objConn ' Opret en variabel ' der kan bruges til at forbinde til databasen.
Sub OpenDataBase(strDBPath) ' Denne Sub gør det lettere i ASP koden ' at åbne en forbindelse til en Access database. ' Syntax : ' Call OpenDataBase("/databasemappen/databasensnavn.mdb")
Dim strProvider ' Opret variabel til at indeholde ' vores connection-string til databasen.
' Start med at sikre at variablen er tom strProvider = "" ' Tilføj oplysninger om hvilken database-driver der skal bruges strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" ' Tilføj information om hvor databasen fysisk befinder sig på serveren strProvider = strProvider & "Data Source=" & Server.MapPath(strDBPath) & ";" ' Tilføj oplysninger om sikkerhedsniveauet der skal bruges til databasen strProvider = strProvider & "Persist Security Info=False"
' Opret et ADO Connection objekt Set objConn = Server.CreateObject("ADODB.Connection") ' Brug connection-string'en fra før til at oprette forbindelsen ' til databasen, via driveroplysninger m.v. objConn.Open strProvider ' Der er nu en åben og aktiv forbindelse til databasen. End Sub
Sub CloseDataBase ' Denne Sub lukker forbindelsen til databasen efter brug. ' Bør altid kaldes efter arbejde med databasen, ' eller som den sidste funktion i ASP siden. ' Syntax : ' Call CloseDataBase
' Bed Connection objektet om at lukke forbindelsen objConn.Close ' Fjern Connection objektet fra hukommelsen på serveren. Set objConn = Nothing End Sub
%>
I de følgende eksempler går vi ud fra at vi har oprettet en database ved navn "databasensnavn.mdb" og lagt den i mappen "databasemappen". I databasen har vi oprettet en tabel der hedder "Test", hvori der er oprettet 3 felter: ID, Overskrift og Indhold.
Dim objRS ' Opret en variabel der skal indeholde RecordSets fra databasen
Set objRS = objConn.Execute("SELECT * FROM Test ORDER BY Overskrift") If (Not objRS.BOF) And (Not objRS.EOF) Then ' Sikring mod fejl hvis ingen records blev fundet objRS.MoveFirst ' Flyt til første record i vores resultat While Not objRS.EOF ' Så længe vi ikke har nået sidste resultat, udfør Response.Write objRS("Overskrift") & "<br>" & vbCrLf ' Udskrif overskriften objRS.MoveNext ' Flyt til næste record i resultatlisten Wend Else ' Der var ingen resultater Response.Write "Ingen records fundet.<br>" & vbCrLf End If objRS.Close ' Luk for recordset Set objRS = Nothing ' Frigør fra hukommelsen på serveren
' Luk forbindelsen til serveren igen
Call CloseDataBase
%> </body> </html>
Hvis vi skal have opdateret en eksisterende record i databasen, gøres det således via SQL-sætning :
Her kommer så min måde at ville hente antal ud fra en database Jeg vil anbefale du bruger din database kald sådan.. Og når du så vil tælle antal kan du gøre det sådan her
<% Function GetCountKlub Call OpenDataBase Dim objRS Dim strResulta
strResulta = ""
Set objRS = objConn.Execute("SELECT COUNT(*) as Found from klub where aktiv=1") If (Not objRS.BOF) And (Not objRS.EOF) Then
strResulta = CLng(objRS(0))
End If
objRS.Close Set objRS = Nothing
Response.Write "<font color=""#33CC99"">" GetCountKlub = strResulta Response.Write "</font>" Call CloseDataBase End Function
Der hvor du så vil have antallet ud skriver du blot sådan her..
Response.Write " " & GetCountKlub %>
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.