webForumDet fria alternativet

Databaser

5 svar · 251 visningar · startad av FIgg3

FIgg3Medlem sedan sep. 2001288 inlägg
#1

hejsan jag är helt grön på Vb men kan man koppla en databas så här i Vb allså som i ASp?

Private Sub Form_Load() 
file = server.mappath("C:\Inetpub\wwwroot\default.mdb") 
Set Connect = server.CreateObject("ADODB.connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & file 

Set RecSet = server.CreateObject("ADODB.RecordSet") 
SQL = "SELECT * FROM site order by id asc" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 
Do Until RecSet.EOF 
i = i + 1 
adress = RecSet("adress") 
namn = RecSet("namn") 

If i < 10 Then 
Response.write "  " & i & ")" 
Else 
Response.write "" & i & ")" 
End If 

Response.write "" & namn & "<br>" 

RecSet.MoveNext 
Loop 
RecSet.Close 
Set RecSet = Nothing 
End Sub
JonMedlem sedan juli 20011 126 inlägg
#2

Nästan!

Dim Recset As ADODB.Recordset
Dim Connect As ADODB.Connection

file = "c:\databasmapp\databas.mdb"
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & file 

SQL = "SELECT * FROM site order by id asc" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 
Do Until RecSet.EOF 
i = i + 1 
adress = RecSet("adress") 
namn = RecSet("namn") 

If i < 10 Then 
Response.write "  " & i & ")" 
Else 
Response.write "" & i & ")" 
End If 

Response.write "" & namn & "<br>" 

RecSet.MoveNext 
Loop 
RecSet.Close 
Set RecSet = Nothing 
End Sub

Du måste även klicka i en referens till ado under references

FIgg3Medlem sedan sep. 2001288 inlägg
#3

Tack för svaret men när ja kör koden får ja fel meddelande på denna raden:
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & file

Felet lyder: Run tim error 91
Object variable or block variable not set...

hela koden:

Private Sub Form_Load()
Dim Recset As ADODB.Recordset
Dim Connect As ADODB.Connection

file = "C:\Inetpub\wwwroot\default.mdb"
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & file

SQL = "SELECT * FROM site order by id asc"
Recset.Open SQL, Connect, adOpenStatic, adLockOptimistic
Do Until Recset.EOF
i = i + 1
adress = Recset("adress")
namn = Recset("namn")

If i < 10 Then
Response.write "  " & i & ")"
Else
Response.write "" & i & ")"
End If

Response.write "" & namn & "<br>"

Recset.MoveNext
Loop
Recset.Close
Set Recset = Nothing
End Sub

Mvh

FIgg3Medlem sedan sep. 2001288 inlägg
#4

Fixade det själv men tack ändå...

JonMedlem sedan juli 20011 126 inlägg
#5

Fint!

Och för er andra som kanske undrar skall det vara

Dim Recset As New ADODB.Recordset
Dim Connect As New ADODB.Connection

Detta kallas early binding. SNabbare, kräver lite mer minne för det mesta.

Man kan säven göra så här:

Dim Recset As ADODB.Recordset
Dim Connect As ADODB.Connection

set Recset = New ADODB.Recordset
set Connect = New ADODB.Connection

Detta kallas late binding. Långsammare, mindre minneskrävande om det används rätt.

:)

CyriQMedlem sedan maj 20025 inlägg
#6

Hur fixade du felet på : Run tim error 91 ?? får samma fel

Genererad på 391 ms · cache AV · v20260730165559-full.f96bc7eb