OOveRRidEMedlem sedan feb. 200112 078 inlägg Det är lungt.
strConnect var bara en variabel som innehöll "Provider=Micros... osv", som talar om för objConn var databasen ligger, vilket provider som skall användas mm. Men som du såg, så tog jag bort strConnect eftersom den i ditt fall var onödig, då man kan skriva strängen direkt i anropen av .open.
GGladhMedlem sedan maj 20012 812 inlägg strConnect är bara en variable för att spara din connectionsträng i. Den behöver du inte om du skriver direkt. Till just ADO kan man göra på flera sätt vilket givetviss är förvirande när man är ny.
Set oConnection = server.createobject("ADODB.Connection")
För att öppna kopplingen till databasen kan man nu göra på följande sätt.
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
oConnection.open sConnectionString
eller
oConnection.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
eller
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
oConnection.ConnectionString = sConnectionString
oConnection.open
Och inte nog med det, nu har du bara öppnat kopplingen vill du sedan hämta data så kan man göra på flera olika, tänker inte visa alla här, eftersom de flesta SUGER. Så jag visar de som du kommer att använda i 99% av dina fall.
SELECT
Dim oConnection
Dim oRecordSet
Dim sSQL
Dim sConnectionString
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
sSQL = "SELECT * FROM [tabell]"
Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.open sConnectionString
set oRecordSet = oConnection.Execute(sSQL)
do until oRecordSet.EOF
'--
'-- Do what you want with your data...
'--
oRecordSet.MoveNext
loop
oRecordSet.close : set oRecordSet = nothing
oConnection.close : Set oConnection = nothing
INSERT/DELETE/UPDATE
Dim oConnection
Dim sSQL
Dim sConnectionString
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
sSQL = "DELETE FROM [Table] WHERE [ID] = 1"
Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.open sConnectionString
oConnection.Execute sSQL,,128
oConnection.close : Set oConnection = nothing
Sedan finns möjligheten att använda GetRows() som kan hjälpa dig med prestandan, men det tar vi inte upp nu.
- M