20 пунктов ASP, которые следует запомнить новичкам
1. Как использовать ASP для определения виртуального физического пути вашего веб-сайта.
Ответ: используйте метод Mappath.
< p align=center>< размер шрифта=4 face=Arial >< b >
Физический путь к этому виртуальному веб-сайту:
</b>< /font >
<цвет шрифта=#FF0000 размер=6 лицо=Arial >
< %= Server.MapPath(/)% >
</font >< /p >
2. Как узнать, какой браузер использует пользователь?
Ответ: Используйте метод объекта Request.
strBrowser=Request.ServerVariables(HTTP_USER_AGENT)
Если Instr(strBrowser,MSIE) < > 0 Тогда
Response.redirect(ForMSIEOnly.htm)
Еще
Response.redirect(ForAll.htm)
Конец, если
3. Как рассчитать среднее количество повторных посетителей в день
Ответ: Решение
< % startdate=DateDiff(д, сейчас, 01.01.1990)
если strdate< 0, то startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) % >
Показать результаты
< % response.write(avgvpd) % >
вот и все. эта страница просматривалась с 10 ноября 1998 г.
4. Как отображать случайные изображения
<% dim p,ppic,dpic
ппик=12
рандомизировать
p=Int((ppic*rnd)+1)
dpic=graphix/randompics/&p&.gif
%>
показывать
< img src=< %=dpic% > >
5.Как вернуться на предыдущую страницу
Ответ: < a href=< %=request.serverVariables(Http_REFERER)% > >предыдущая страница</a >
Или используйте изображение, например: < img src=arrowback.gif target='_blank'> Если сервер работает и на нем может отображаться диалоговое окно, то вам придется подождать, пока кто-нибудь не нажмет кнопку ОК, прежде чем ваша программа сможет это сделать. продолжить выполнение. Как правило, сервер не будет охраняться, поэтому Microsoft вынуждена запретить эту функцию и случайно сообщить вам (:) ха-ха), что у вас нет разрешения. Однако комбинация ASP и клиентского сценария может отображать следующее диалоговое окно:
< % yourVar=Тестовый диалог % >
< % script Language='javascript' >
предупреждение (<%=ваша переменная% >)
</скрипт>
11. Есть ли способ защитить ваш исходный код от просмотра другими?
Ответ: Вы можете загрузить кодировщик сценариев Microsoft Windows, который может шифровать сценарии asp и сценарии javascript/vbscript на стороне клиента. . . Однако после шифрования клиента его может выполнить только ie5. После шифрования серверного сценария его можно выполнить только в том случае, если на сервере установлен скриптовый механизм 5 (просто установите ie5).
12.Как перенести строку запроса из одного файла asp в другой?
Ответ: Добавьте в предыдущий файл следующее предложение: Response.Redirect( Second.asp? & Request.ServerVariables(QUERY_STRING))
Файл 13.global.asa всегда не работает?
Ответ: Global.asa действителен только в том случае, если в качестве веб-каталога установлено веб-приложение, а global.asa действителен в корневом каталоге веб-приложения. IIS4 может использовать диспетчер служб Интернета для установки параметров приложения. Как заставить файл htm выполнять код сценария, как файл asp?
14. Как заставить файл htm выполнять код сценария так же, как файл asp?
Ответ: Диспетчер интернет-служб -> выберите веб-сайт по умолчанию -> правая кнопка мыши -> свойства меню -> домашний каталог -> настройки приложения (настройки приложения) -> нажмите кнопку «Конфигурация» -> «Сопоставление приложения» -> нажмите кнопку «Добавить» -> «Обзор исполняемого файла». выберите РАСШИРЕНИЕ /WINNT YSTEM32/INETSRV/ASP.DLL, введите исключения методов htm, введите PUT.DELETE и подтвердите все. Однако стоит отметить, что htm также будет обрабатываться asp.dll, и эффективность снизится.
15.Как зарегистрировать компоненты
Ответ: Есть два метода.
Первый метод: зарегистрировать DLL вручную. Этот метод использовался в версиях от IIs 3.0 до IIs 4.0 и других веб-серверах. Требуется выполнить его из командной строки, войти в каталог, содержащий DLL, и ввести: regsvr32 имя_компонента.dll, например, c:/temp egsvr32 AspEmail.dll. Он зарегистрирует конкретную информацию о dll в реестре. на сервере. Затем компонент можно будет использовать на сервере, но в этом подходе есть недостаток. После регистрации компонента с помощью этого метода компонент должен соответствующим образом настроить анонимную учетную запись NT, чтобы иметь разрешение на выполнение библиотеки dll. В частности, некоторым компонентам необходимо читать реестр, поэтому этот метод регистрации компонентов используется только в том случае, если на сервере нет MTS. Чтобы отменить регистрацию dll, используйте: regsvr32 /u aspobject.dll, пример c:/temp egsvr32 / uaneiodbc. .dll
Второй метод: используйте MTS (Microsoft Transaction Server). MTS — это новая функция IIS 4, но она обеспечивает огромные улучшения. MTS позволяет указать, что только привилегированные пользователи могут получить доступ к компонентам, что значительно улучшает настройки безопасности на сервере веб-сайта. Действия по регистрации компонента на МТС следующие:
1) Откройте консоль управления IIS.
2) Разверните сервер транзакций, щелкните правой кнопкой мыши установленные пакеты и выберите новый пакет.
3) Нажмите создать пустой пакет.
4) Назовите пакет.
5) Укажите учетную запись администратора или используйте интерактив (если часто заходите на сервер под администратором).
6) Теперь щелкните правой кнопкой мыши развернутые компоненты под только что созданным пакетом. Выберите новый, затем компонент.
7) Выберите «Установить новый компонент» [b].
8) Найдите свой файл .dll и выберите «Далее», чтобы закончить.
Чтобы удалить этот объект, просто выберите его значок, а затем выберите «Удалить».
Примечание. Обратите особое внимание на второй метод: это лучший способ отладки написанных вами компонентов без необходимости каждый раз перезапускать компьютер.
16. Подключение к базе данных ASP и Access:
17. Подключение к базе данных ASP и SQL:
Создайте объект набора записей:
установите rs=server.createobject(adodb.recordset)
оператор rs.open SQL,conn,3,2
18. Как использовать распространенные команды SQL:
(1) Проверка записи данных:
sql=select * из таблицы данных, где имя поля = порядок значений поля по имени поля [дескриптор]
sql=select * из таблицы данных, где имя поля, например '%field value%', упорядочивается по имени поля [дескриптор]
sql=выбрать первые 10 * из таблицы данных, где имя поля упорядочивается по имени поля [дескриптор]
sql=select * из таблицы данных, где указано имя поля («значение 1», «значение 2», «значение 3»)
sql=select * из таблицы данных, где имя поля между значением 1 и значением 2
(2) Обновление записи данных:
sql=обновить набор таблиц данных, имя поля=значение поля, где условное выражение
sql = набор таблиц данных обновления, поле 1 = значение 1, поле 2 = значение 2... поле n = значение n, где условное выражение
(3) Удалить записи данных:
sql=удалить из таблицы данных, где условное выражение
sql=delete from data table (удалить все записи в таблице данных)
(4) Добавьте запись данных:
sql=вставить в таблицу данных (поле 1, поле 2, поле 3...) значения (значение 1, значение 2, значение 3...)
sql=вставить в целевую таблицу данных выбрать * из исходной таблицы данных (добавить записи из исходной таблицы данных в целевую таблицу данных)
(5) Статистическая функция записи данных:
AVG(имя поля) выводит среднее значение по столбцу таблицы.
COUNT(*|имя поля) подсчитывает количество строк данных или количество строк данных со значением в определенном столбце.
MAX (имя поля) получает максимальное значение столбца таблицы.
MIN (имя поля) получает минимальное значение столбца таблицы.
СУММА (имя поля) добавляет значения столбцов данных
Как ссылаться на вышеуказанную функцию:
sql = выберите сумму (имя поля) как псевдоним из таблицы данных, где условное выражение
установить rs=conn.excute(sql)
Используйте rs (псевдоним) для получения статистических значений и используйте те же методы, что и выше, для других функций.
(5) Создание и удаление таблиц данных:
Имя таблицы данных CREATE TABLE (поле 1, тип 1 (длина), поле 2, тип 2 (длина)...)
Пример: CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE имя таблицы данных (безвозвратное удаление таблицы данных)
19. Методы объекта набора записей:
rs.movenext перемещает указатель записи на одну строку вниз от текущей позиции
rs.moveprevious перемещает указатель записи на одну строку вверх от текущей позиции
rs.movefirst перемещает указатель записи в первую строку таблицы данных.
rs.movelast перемещает указатель записи в последнюю строку таблицы данных.
rs.absoluteposition=N перемещает указатель записи в строку N таблицы данных.
rs.absolutepage=N перемещает указатель записи в первую строку страницы N.
rs.pagesize=N устанавливает на каждой странице N записей
rs.pagecount возвращает общее количество страниц в соответствии с настройками Pagesize.
rs.recordcount возвращает общее количество записей
rs.bof возвращает, превышает ли указатель записи начало таблицы данных, true означает да, false означает нет
rs.eof возвращает, превышает ли указатель записи конец таблицы данных, true означает да, false означает нет
rs.delete удаляет текущую запись, но указатель записи не перемещается вниз
rs.addnew добавляет записи в конец таблицы данных.
rs.update обновляет записи таблицы данных
-------------------------------------------------- ---------
20 методов объекта набора записей
Открытый метод
набор записей.Открытый исходный код,ActiveConnection,CursorType,LockType,Параметры
Источник
Объект Recordset можно подключить к объекту Command через свойство Source. Параметр Source может быть именем объекта команды, командой SQL, указанным именем таблицы данных или хранимой процедурой. Если этот параметр опущен, система использует свойство Source объекта Recordset.
Активное соединение
Объекты набора записей могут подключаться к объектам Connection через свойство ActiveConnection. ActiveConnection здесь может быть объектом Connection или строкой строковых параметров, содержащей информацию о соединении с базой данных (ConnectionString).
Тип курсора
Параметр CursorType метода Open объекта Recordset указывает, с каким типом курсора будут начинаться данные, включая adOpenForwardOnly, adOpenKeyset, adOpenDynamic и adOpenStatic, как описано ниже:
-------------------------------------------------- ----------
Описание постоянного значения константы
-------------------------------------------------- ----------
adOpenForwardOnly 0 Значение по умолчанию, запускает курсор, который может двигаться только вперед (только вперед).
adOpenKeyset 1 запускает курсор типа Keyset.
adOpenDynamic 2 запускает курсор динамического типа.
adOpenStatic 3 запускает курсор статического типа.
-------------------------------------------------- ----------
Вышеупомянутые типы курсоров будут напрямую влиять на все свойства и методы объекта Recordset. В следующем списке показаны различия между ними.
-------------------------------------------------- ----------
Свойства набора записей adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
-------------------------------------------------- ----------
AbsolutePage не поддерживает чтение и запись.
AbsolutePosition не поддерживается. Доступно для чтения и записи.
ActiveConnection чтение-запись чтение-запись чтение-запись чтение-запись
BOF только чтение только чтение только чтение только чтение
Закладка не поддерживается. Она не поддерживается. Ее можно читать и писать.
CacheSize Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи
CursorLocation Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи
CursorType Чтение и запись Чтение и запись Чтение и запись Чтение и запись Чтение и запись
EditMode только для чтения только для чтения только для чтения только для чтения
EOF только чтение только чтение только чтение только чтение
Фильтр Доступен для чтения и записи Доступен для чтения и записи Доступен для чтения и записи Доступен для чтения и записи
LockType Чтение и запись Чтение и запись Чтение и запись Чтение и запись
MarshalOptions Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи
MaxRecords Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи
PageCount не поддерживает режим «только чтение» только для чтения
Размер страницы Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи Доступно для чтения и записи
RecordCount не поддерживает только чтение, только чтение
Источник Доступен для чтения и записи Доступен для чтения и записи Доступен для чтения и записи Доступен для чтения и записи
Состояние только чтение только чтение только чтение только чтение
Статус только чтение только чтение только чтение только чтение только чтение
ДобавитьНовое Поддержка Поддержка Поддержка Поддержка Поддержка
Поддержка CancelBatch поддержка поддержка поддержка поддержка
ОтменаОбновить поддержка поддержка поддержка поддержка
Клонирование не поддерживается.
Тесная поддержка поддержка поддержка поддержка поддержка
Удалить поддержку поддержку поддержку поддержку
GetRows поддержка поддержка поддержка поддержка
Двиг не поддерживается, поддерживается, поддерживается.
Поддержка MoveFirst поддержка поддержка поддержка
MoveLast не поддерживается поддерживается поддерживается поддерживается
Поддержка MoveNext поддержка поддержка поддержка
MoveПредыдущий Не поддерживаетсяПоддерживаетсяПоддерживается
Поддержка NextRecordset поддержка поддержка поддержка поддержка
Открытая поддержка поддержка поддержка поддержка поддержка
Запрос поддержки поддержка поддержки поддержка
Повторная синхронизация Не поддерживается Не поддерживается Поддерживается Поддерживается
Поддерживает
Обновление Поддержка Поддержка Поддержка Поддержка Поддержка
Поддержка UpdateBatch поддержка поддержка поддержка
-------------------------------------------------- ----------
Метод NextRecordset не применяется к базам данных Microsoft Access.
Тип блокировки
Параметр LockType метода Open объекта Recordset указывает тип блокировки, который будет использоваться. Если этот параметр игнорируется, система будет использовать свойство LockType объекта Recordset в качестве значения по умолчанию. К параметрам LockType относятся adLockReadOnly, adLockPrssimistic, adLockOptimistic и adLockBatchOptimistic и т. д., которые описываются следующим образом:
-------------------------------------------------- ----------
Описание постоянного значения константы
-------------------------------------------------- ----------
adLockReadOnly 1 Значение по умолчанию. Объект Recordset запускается в режиме только для чтения, не может запускать методы AddNew, Update, Delete и другие.
adLockPrssimistic 2 При обновлении источника данных система временно блокирует действия других пользователей для обеспечения согласованности данных.
adLockOptimistic 3. При обновлении источника данных система не блокирует действия других пользователей, и другие пользователи могут добавлять, удалять и изменять данные.
adLockBatchOptimistic 4 При обновлении источника данных другие пользователи должны изменить атрибут CursorLocation на adUdeClientBatch, чтобы добавлять, удалять или изменять данные.