ASP 3.0 Объявление констант ADO без включения, в том числе ADOVBS.inc - PullRequest
3 голосов
/ 28 февраля 2011

Я написал простой скрипт для обработки форм с использованием ASP3.0 / VBScript и хотел бы добавить введенные данные (через Интернет) в базу данных Access, расположенную на моем сервере.Я использую метод OLEDB для подключения следующим образом:

Cst = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"DATA SOURCE=" & Server.MapPath("DataBase.mdb")

Dim Conn
Set Conn = CreateObject("ADODB.Connection")
Conn.Mode = 3

Conn.Open Cst

Blah Blah Blah...

В настоящее время у меня есть файл с именем ADOVBS.inc, включенный сверху, но я хотел бы отказаться от него, потому что я считаю его неэффективным и расточительным.Я хотел бы определить константы так, как мне нужно, но я не знаю как.Какие константы ADO мне нужно определить и где?Книга, которую я использую, в основном гласит: «Забудьте об этом фунте, включите в себя эти примерно 400 бугеров и не задавайте глупых вопросов!»

Любые конкретные примеры / помощь будут с благодарностью.

Спасибо,

Ответы [ 3 ]

9 голосов
/ 28 февраля 2011

у вас есть пара вариантов на выбор.Вы можете ссылаться на библиотеку метаданных на своей странице (или в файле global.asa) с помощью

<!--
   METADATA    
   TYPE="TypeLib"    
   NAME="Microsoft ActiveX Data Objects 2.5 Library"    
   UUID="{00000205-0000-0010-8000-00AA006D2EA4}"    
   VERSION="2.5"
-->

или

, вы можете просто скопировать несколько констант из файла adovbs на свою страницупокрыть ваши потребности.Например

Const adCmdText = 1      'Evaluate as a textual definition    
Const adCmdStoredProc = 4 'Evaluate as a stored procedure
0 голосов
/ 02 марта 2011

Соответствующий список констант можно найти здесь: http://www.4guysfromrolla.com/ASPScripts/PrintPage.asp?REF=%2Fwebtech%2Ffaq%2FBeginner%2Ffaq7.shtml

Я также скопирую его здесь:

'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3

'---- CursorOptionEnum Values ----
Const adHoldRecords = &H00000100
Const adMovePrevious = &H00000200
Const adAddNew = &H01000400
Const adDelete = &H01000800
Const adUpdate = &H01008000
Const adBookmark = &H00002000
Const adApproxPosition = &H00004000
Const adUpdateBatch = &H00010000
Const adResync = &H00020000

Должно быть достаточно для вставки / выбора / обновления записей вбазы данных.

0 голосов
/ 28 февраля 2011

Конечно, ответ: "Забудьте об этом фунте, включите в себя эти примерно 400 бугеров и не задавайте глупых вопросов!" :)

Но так как вы настаиваете:

Лучший способ - это объединить все функции доступа к данным в одном .ASP
Давайте назовем это dbHelper.asp

Затем поместите туда все функции БД, например:

''// run a query and returns a disconnected recordset
Function RunSQLReturnRS(sqlstmt, params())
    On Error Resume next

    ''//Create the ADO objects
    Dim rs , cmd
    Set rs = server.createobject("ADODB.Recordset")
    Set cmd = server.createobject("ADODB.Command")

    ''// Init the ADO objects  & the stored proc parameters
    cmd.ActiveConnection = GetConnectionString()
    cmd.CommandText = sqlstmt
    cmd.CommandType = adCmdText

    collectParams cmd, params

    ''//Execute the query for readonly
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenForwardOnly, adLockReadOnly
    If err.number > 0 then
        BuildErrorMessage()
        exit function
    end if

    ''//Disconnect the recordset
    Set cmd.ActiveConnection = Nothing
    Set cmd = Nothing
    Set rs.ActiveConnection = Nothing

    ''//Return the resultant recordset
    Set RunSQLReturnRS = rs

End Function

В этот момент вы знаете, что все ваши дополнительные константы находятся в этом файле, и вы можете начать заменять их по своему желанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...