不通过数据源完全控制MDB数据库.
时 间:2008-05-17 08:54:50
作 者:umvsoft ID:16 城市:江阴
摘 要:不通过数据源完全控制MDB数据库.
正 文:
' BEGIN USER CONSTANTS
' To just use a DSN, the format is shown on the next line:
'Const DSN_NAME = "DSN=ASP101email"
' Two other samples I used it with. Left in as syntax examples for DSN-less connections
'Const DSN_NAME = "DBQ=C:\InetPub\wwwroot\asp101\samples\database.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
'Const DSN_NAME = "DBQ=C:\InetPub\database\donations.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
Dim DSN_NAME
DSN_NAME = "DBQ=" & Server.MapPath("db_dsn.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;"
Const DSN_USER = "username"
Const DSN_PASS = "password"
' Ok, I know these are poorly named constants, so sue me!
' This script can be used without actually setting up a DSN, so
' DSN_NAME as well as the other two constants should really be named
' something more generic like CONNECTION_STRING, CONNECTION_USER, and
' CONNECTION_PASS, but I did it this way without really thinking about
' it and I'm too lazy to change it now. If it bothers you, you do it!
' END USER CONSTANTS
' BEGIN SUBS & FUNCTIONS SECTION
Sub OpenConnection
Set objDC = Server.CreateObject("ADODB.Connection")
objDC.ConnectionTimeout = 15
objDC.CommandTimeout = 30
objDC.Open DSN_NAME, DSN_USER, DSN_PASS
End Sub
Sub OpenRecordset(sType)
Dim sSqlString ' as String - building area for SQL query
Dim sCritOperator ' as String - basically "=" or "LIKE"
Dim sCritDelimiter ' as String - parameter delimiter "", "'", or "#"
Set objRS = Server.CreateObject("ADODB.Recordset")
Select Case sType
Case "ListTables" ' Open RS of the Tables in the DB
Set objRS = objDC.OpenSchema(adSchemaTables)
Case "ViewTable" ' Open the Selected Table
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "[" & sTableName & "]", objDC, adOpenForwardOnly, adLockReadOnly
Case "DrillDown" ' Open the Recordset built by the selected options
Set objRS = Server.CreateObject("ADODB.Recordset")
' Build Our SQL Statement
sSqlString = "Select * FROM [" & sTableName & "]"
' If we're limiting records returned - insert the Where Clause into the SQL
If sCritField <> "" Then
' Figure out if we're dealinh with Numeric, Date, or String Values
Select Case iCritDataType
Case adSmallInt, adInteger, adSingle, adDouble, adDecimal, adTinyInt, adUnsignedTinyInt, adUnsignedSmallInt, adUnsignedInt, adBigInt, adUnsignedBigInt, adBinary, adNumeric, adVarBinary, adLongVarBinary, adCurrency, adBoolean
sCritOperator = "="
sCritDelimiter = ""
Case adDate, adDBDate, adDBTime, adDBTimeStamp
sCritOperator = "="
sCritDelimiter = "#"
Case adBSTR, adChar, adWChar, adVarChar, adLongVarChar, adVarWChar, adLongVarWChar
sCritOperator = "LIKE"
sCritDelimiter = "'"
End Select
sSqlString = sSqlString & " Where [" & sCritField & "] " & sCritOperator & " " & sCritDelimiter & sCritValue & sCritDelimiter
End If
' If we're sorting - insert the orDER BY clause
If sSortOrder <> "none" Then
sSqlString =
Access软件网QQ交流群 (群号:54525238)
Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)