psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005
11 nov. 2005 à 00:56
c'est ca access sql asp
moi j'ai fais ca pour exploiter la base access
tu dois aller dans le panneau de configuration -> source de donné
ODBC -> base de données systeme->driver *.mdb->selectionner ta
base-> donner un nom
creer un fichier _config.inc-> mettre BaseName=le nom de ta base (celui de ODBC).
Ya tous les tests a la fin voili
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!-- #include file="_config.inc"-->
<%
'////////////////////////////////
'/SQL Tools
'///////////////////////////////
Set CurrentConnect=Nothing
'Persistence save the current connection to the DB
'=-1:Not active
'=0: Init->Connect()
'=1: Active: use CurrentConnect
'=2: Active: Use CurrentConnect and Close()
'Generic ODBC_Connect->Simple connection to ODBC Base
Function ODBC_Connect(Persistence)
If Persistence=-1 OR Persistence=0 Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open BaseName
Set CurrentConnect = Connect
Else If Persistence=2 OR Persistence=1 Then
Set Connect = CurrentConnect
End If
End If
Set ODBC_Connect = Connect
End Function
'Generic ODBC_Close->Simple Closer connection to ODBC Base: Need Link DB
Function ODBC_Close(Connect,Persistence)
If Persistence=-1 OR Persistence=2 Then
Connect.close
Set Connect = Nothing
Set CurrentConnect=Connect
End If
Set ODBC_Close = Connect
End Function
'Generic Select From DB
Function ODBC_Select(SQL,Pointer,Persistence)
'Response.Write("SQL="&SQL&"
")
'Variables///////////////////////////////////////
Dim i:i=0
Dim TheKey, TheValue
'Configuration of DB link////////////////////////
Set Connect = ODBC_Connect(Persistence)
'////////////////////////////////////////////////
Set RS = Server.CreateObject("ADODB.Recordset")
'////////////////////////////////////////////////
With RS
.Open SQL,Connect , 3, 3
If (.EOF and .BOF) Then
'No data
ODBC_Select=-1
Else
Dim MaxRecord : Maxrecord=.RecordCount
Dim MatData() : ReDim MatData(MaxRecord-1)
'Verif MaxRecord////////////////////////////
If MaxRecord=0 Then
End If
'Response.Write("Maxrecord="&Maxrecord&"
")
'MAX in DB/////////////////////////
If Pointer >= MaxRecord Then
Pointer = MaxRecord-1
End If
'Response.Write("Pointer="&Pointer&"
")
If Pointer >= 0 Then
.Move(Pointer)
Else
.MoveFirst
End If
'///////////////////////////////////////////
'Set Dictionary Data///////////////////////
Do While Not .EOF
Set MatData(i) = createObject("Scripting.Dictionary")
For each Item in .Fields
With Item
'TheKey=.name&"["&i&"]"
TheKey=.name
TheValue=.value
'Response.Write("i="&i&Item.name&" =
"&Item.value&"
")
MatData(i)(TheKey)=TheValue
End With
Next
i=i+1
.MoveNext
Loop
'///////////////////////////////////////////
.close
End If
End With
Set Connect = ODBC_Close(Connect,Persistence)
'Return/////////////////////////////////////////////
' Set ODBC_Select = objDict
ODBC_Select = MatData
End Function
'Generic Insert Dictionary indexed by same Fields Name of DB Into DB
Sub ODBC_Insert(Tbl,DicVal,Persistence)
Dim SQL,Rows,Values,i,Key,Val,MaxTab
Set Connect = ODBC_Connect(Persistence)
Rows=""
Values="VALUES ("
SQL="INSERT INTO "&Tbl
Key=DicVal.Keys
Val=DicVal.Items
MaxTab=DicVal.Count-1
For i=0 To MaxTab
If i<MaxTab Then
Rows=Rows&Key(i)&", "
Values=Values&"'"&Val(i)&"',"
Else
Rows=Rows&Key(i)
Values=Values&"'"&Val(i)&"'"
End If
Next
SQL=SQL&"("&Rows&") "&Values&")"
Connect.execute(SQL)
Set Connect = ODBC_Close(Connect,Persistence)
End Sub
'Generic Delete Data From DB.
Sub ODBC_Delete(Tbl,Condition,Persistence)
Dim SQL
Set Connect = ODBC_Connect(Persistence)
SQL="DELETE FROM "&Tbl&" WHERE "&Condition
Connect.execute(SQL)
Set Connect = ODBC_Close(Connect,Persistence)
End Sub
'Generic Update Data of DB
Sub ODBC_Update(Tbl,DicVal,Where,Persistence)
Dim SQL,Key,Val,MaxTab
Set Connect = ODBC_Connect(Persistence)
SQL="UPDATE "&Tbl&" SET "
Key=DicVal.Keys
Val=DicVal.Items
MaxTab=DicVal.Count-1
For i=0 To MaxTab
If i<MaxTab Then
SQL=SQL&Key(i)&"='"&Val(i)&"', "
Else
SQL=SQL&Key(i)&"='"&Val(i)&"' WHERE "&Where
End If
Next
Connect.execute(SQL)
Set Connect = ODBC_Close(Connect,Persistence)
End Sub
'////////////////////////////////
'/TESTS
'///////////////////////////////
'///////////////////////////////
'/Main
'///////////////////////////////
'INSERT
'Dim oDict
'Set oDict = Server.CreateObject("Scripting.Dictionary")
'oDict("ActorName")="Eva4"
'Call ODBC_Insert(T_Actor,oDict,-1)
'DELETE
'Dim Condition:Condition="idActor=34"
'Call ODBC_Delete(T_Actor,Condition,-1)
'UPDATE
'Dim Where:Where="idActor=42"
'Set oDict = Server.CreateObject("Scripting.Dictionary")
'oDict("ActorName")="Bob"
'Call ODBC_Update(T_Actor,oDict,Where,-1)
'SELECT LIMIT
'Dim Requete:Requete="SELECT TOP 3 ActorName, idActor FROM "&T_Actor&" ORDER BY idActor"
'Set oDict=ODBC_Select(Requete,0,-1)
'Key=oDict.Keys
'Val=oDict.Items
'MaxTab=oDict.Count-1
'For i=0 To MaxTab
' Response.Write(Key(i)&"="&Val(i)&"
")
'Next
'SELECT LIMIT
'Dim Requete:Requete="SELECT TOP 3 ActorName, idActor FROM "&T_Actor&" ORDER BY idActor"
'MatData=ODBC_Select(Requete,0,-1)
'For i=0 to ubound(MatData)
' Key=MatData(i).Keys
' Val=MatData(i).Items
' For j=0 To MatData(i).Count-1
'
Response.Write(i&") "&Key(j)&"="&Val(j)&"
")
' Next
'Next
'////////////////////////////////////////////////////////////////////////////////////////
%>