Объект server-side | |
Реализовано в | Netscape Server 3.0 |
Создание
Методом DbPool.connection
. Вы не вызываете конструктор connection
непосредственно. Как только Вы имеете объект Connection
, Вы используете его для Ваших взаимодействий с базой данных.
Описание
Вы можете использовать свойство prototype
класса Connection
, чтобы добавить свойство ко всем образцам Connection
. Если Вы делаете так, то добавление применяется ко всем объектам Connection
, выполняющимся во всех приложениях на Вашем сервере, не только в отдельном приложении, которое сделало изменение. Это позволяет Вам разворачивать возможности этого объекта для всего Вашего сервера.
|
Позволяет добавление свойств к объекту Connection .
|
Свойства
prototype
Представляет прототип для этого класса. Вы можете использовать прототип, чтобы добавлять свойства или методы ко всем образцам класса. Для информации о прототипах, смотрите Function.prototype
.
Свойство объекта |
Connection
|
Реализовано в | LiveWire 1.0 |
Методы
beginTransaction
Начинает новую SQL транзакцию.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
beginTransaction()
Параметры
Нет.
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Все последующие действия, которые изменяют базу данных, сгруппированы с этой транзакцией, известны как текущая транзакция.
Примеры
Этот пример модифицирует таблицу rentals
внутри транзакции. Значения customerID
и videoID
передаются методу cursor
как свойства объекта request
. Когда объект videoReturn
типа Cursor
открывается, метод next
переходит к единственной записи в наборе ответов и модифицирует значение в поле returnDate
.
// Начинаем транзакцию
database.beginTransaction();// Создаем объект Date со значением текущей даты
today = new Date();// Создаем Cursor с арендованным видео в наборе ответов
videoReturn = database.Cursor("SELECT * FROM rentals WHERE
customerId = " + request.customerID + " AND
videoId = " + request.videoID, true);// Устанавливаем указатель на первой строке Cursor
// и модифицируем строку
videoReturn.next()
videoReturn.returndate = today;
x = videoReturn.updateRow("rentals");// Заканчиваем транзакцию, совершая или прокручивая назад
if (x == 0) {
database.commitTransaction() }
else {
database.rollbackTransaction() }// Закрываем Cursor
videoReturn.close();commitTransaction
Передает текущую транзакцию
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
commitTransaction()
Параметры
Нет.
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Этот метод пытается совершить все действия начиная с последнего запроса к beginTransaction
.
connected
Проверяет, связано ли объединение базы данных и все подключения с базой данных.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
connected()
Параметры
Нет.
Возвращает
True, если объединение (и следовательно специфическое подключение в объединении) в настоящее время связано с базой данных; иначе, false.
Описание
Метод connected
указывает, связан ли этот объект в настоящее время с базой данных.
Примеры
Пример 1: Следующий фрагмент кода выясняет, открыто ли подключение в настоящее время. Если это не так, то повторно подключает объединение и присваивает новое значение переменной myconn
.
if (!myconn.connected()) {
Пример 2: Следующий пример использует условие
mypool.connect ("INFORMIX", "myserver", "SYSTEM", "MANAGER", "mydb", 4);
myconn = mypool.connection;
}if
, чтобы определить, связано ли приложение с сервером баз данных. Если приложение связано, выполняется функция isConnectedRoutine
, если приложение не связано, выполняется алгоритм isNotConnected
.
if(database.connected()) {
isConnectedRoutine() }
else {
isNotConnectedRoutine() }cursor
Создает объект Cursor
.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
cursor("sqlStatement",updatable)
Параметры
Возвращает
Новый объект Cursor
.
Описание
Метод cursor
создает объект Cursor
, который содержит строки, возвращенные SQL выражением SELECT
. Выражение SELECT
передается методу cursor
как параметр sqlStatement
. Если выражение SELECT
не возвращает ниодной строки, возникающий в результате объект Cursor
не имеет строк. Первый раз, когда Вы используете метод next
объекта, он возвращает false.
Вы можете выполнять следующие задачи с объектом Cursor
:
cursor
автоматически не отображает возвращенные данные. Чтобы отобразить эти данные, Вы должны создать заказной код HTML. Этот код HTML может отображать строки в таблице HTML, как показано в Примере 3. Метод SQLTable
более простой способ отобразить вывод запроса к базе данных, но Вы не можете передвигаться по данным, изменять данные, или управлять форматом вывода.
Примеры
Пример 1. Следующий пример создает модифицируемый курсор custs
и возвращает столбцы ID
, CUST_NAME
и CITY
из таблицы customer
:
custs = database.Cursor("select id, cust_name, city from customer", true)
Пример 2. Вы можете создать выражение SELECT со строковым оператором конкатенации (+) и строковыми переменными типа значений свойств client
или request
, как показано в следующем примере:
custs = database.Cursor("select * from customer
Пример 3. Следующий пример показывает, как форматировать набор ответов, возвращенный методом
where customerID = " + request.customerID);cursor
, как таблицу HTML. Этот пример сначала создает объект Cursor
с именем videoSet
и затем показывает два столбца данных (videoSet.title
и videoSet.synopsis
).
// Создаем videoSet Cursor
<SERVER>
videoSet = database.cursor("select * from videos
where videos.numonhand > 0 order by title");
</SERVER>// Начинаем создавать таблицу HTML, для размещения набора ответов
// Определяем заголовки для двух столбцов в наборе ответов
<TABLE BORDER>
<CAPTION> Videos on Hand </CAPTION>
<TR>
<TH>Заголовок</TH>
<TH>Резюме</TH>
</TR>// Используем цикл while, чтобы выполнить итерации с каждой строкой в курсоре
<SERVER>
while(videoSet.next()) {
</SERVER>// Используем инструкции write, чтобы отобразить данные в обоих столбцах
<TR>
<TH><A HREF=\Q"rent.html?videoID="+videoSet.id\Q>
<SERVER>write(videoSet.title)</SERVER></A></TH>
<TD><SERVER>write(videoSet.synopsis)</SERVER></TD>
</TR>// Конец цикла while
<SERVER>
}
</SERVER>// Конец таблицы HTML
Значения столбца
</TABLE>videoSet.title
отображаются внутри тэга A
, так что пользователь может нажимать их как ссылки. Когда пользователь щелкает по заголовку, открывается страница rent.html
, и значение столбца videoSet.id
передается ей как значение request.videoID
.
Смотрите также
Connection.SQLTable
, Connection.cursor
execute
Выполняет определенное SQL выражение. Используйте для SQL выражний отличных от запросов.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
execute (
stmt
)Параметры
stmt | Строка, представляющая SQL выражение для выполнения. |
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Этот метод дает возможность приложению выполнить любое SQL выражение языка определения данных (DDL) или языка управления данными (DML), поддерживаемое сервером баз данных, которое не возвращает Cursor, типа CREATE
, ALTER
или DROP
.
Если Вы явно не запустили транзакцию, одиночная инструкция автоматически совершается.
Примеры
В следующем примере, метод execute
используется, чтобы удалить заказчика из таблицы customer
. ID
представляет уникальный ID заказчика, который находится в столбце ID
таблицы customer
. Значение customer.ID
передается инструкции DELETE
как значение свойства ID
объекта request
.
if(request.ID != null) {
database.execute("delete from customer
where customer.ID = " + request.ID)
}majorErrorCode
Основной код ошибки, возвращенный сервером баз данных или ODBC.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
majorErrorCode()
Параметры
Нет.
Возвращает
Результат, возвращенный этим методом, зависит от используемого сервера баз данных:
Коды состояния это целые числа между 0 и 27, с 0 индикацией успешного выполнения инструкции и другими числами, указывающими ошибку, как показано в Таблице 10.4.
Table 10.4 Коды состояния базы данных.
Примеры
Этот пример модифицирует таблицу rentals
внутри транзакции. Метод updateRow
присваивает код состояния базы данных переменной statusCode
, указывающей, успешен ли метод.
database.beginTransaction()
statusCode = cursor.updateRow("rentals")if (statusCode == 0) {
database.commitTransaction()
}if (statusCode == 5 || statusCode == 7) {
write("Операция не может быть завершена.<BR>"
write("Войдите в контакт с Вашим системным администратором со следующим:<P>"
write("Значение statusCode равно " + statusCode + "<BR>")
write("Значение majorErrorCode равно " +
database.majorErrorCode() + "<BR>")
write("Значение majorErrorMessage равно " +
database.majorErrorMessage() + "<BR>")
write("Значение minorErrorCode равно " +
database.minorErrorCode() + "<BR>")
write("Значение minorErrorMessage равно " +
database.minorErrorMessage() + "<BR>")
database.rollbackTransaction()
}else {
errorRoutine()
}majorErrorMessage
Основное сообщение об ошибках, возвращенное сервером баз данных или ODBC. Для ошибок сервера, оно обычно соответствует SQLCODE сервера.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
majorErrorMessage()
Параметры
Нет.
Возвращает
Строка описания, которая зависит от сервера баз данных:
connection
и DbPool
или из специальных свойств connection
или DbPool
, содержащих сообщения об ошибках и коды.
Примеры
Смотрите Connection.majorErrorCode
.
minorErrorCode
Вторичный код ошибки, возвращенный библиотекой продавцов базы данных.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
minorErrorCode()
Параметры
Нет.
Возвращает
Результат, возвращенный этим методом, зависит от сервера баз данных:
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
minorErrorMessage()
Параметры
Нет.
Возвращает
Строка, возвращенная этим методом, зависит от сервера баз данных:
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
release()
Параметры
Нет.
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Перед вызовом метода release
, Вы должны закрыть все открытые курсоры. Когда Вы вызываете метод release
, двигатель времени выполнения ждет, пока все курсоры не будут закрыты и затем возвращает подключение объединению базы данных. Затем подключение доступно следующему пользователю.
release
для всех подключений в объединении базы данных прежде, чем Вы можете вызывать метод disconnect
объекта DbPool
. Иначе, подключение все еще рассматривается используемым двигателем времени выполнения, так что disconnect
ждет, пока все подключения не будут выпущены.
rollbackTransaction
Прокручивает обратно текущую транзакцию.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
rollbackTransaction()
Параметры
Нет.
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Этот метод отменяет все изменения начиная с последнего запроса к beginTransaction
.
SQLTable
Показывает результаты запроса. Создает таблицу HTML для результатов SQL инструкции SELECT.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
SQLTable (stmt)
Параметры
stmt | Строка, представляющая SQL инструкцию SELECT. |
Возвращает
Строку, представляющую таблицу HTML, со строками и столбцами в таблице соответствующими строкам и столбцам в запросе.
Описание
Хотя SQLTable
не дает явный контроль над форматированием вывода, это самый простой способ отобразить результаты запроса. Если Вы хотите настраивать вид вывода, используйте объект Cursor
, чтобы создать Вашу собственную функцию вывода.
Обратите внимение
Каждая Sybase таблица, которую Вы используете с курсором, должна иметь уникальный индекс.
Пример
Если connobj
это объект Connection
и request.sql
содержит SQL запрос, то следующие выражения JavaScript отображают результат запроса в таблице:
write(request.sql)
Первая строка просто показывает выражение SELECT, а вторая строка показывает результаты запроса. Это первая часть HTML, сгенерированного этими инструкциями:
connobj.SQLTable(request.sql)
select * from videos
Как показывает этот пример,
<TABLE BORDER>
<TR>
<TH>заголовок</TH>
<TH>идентификатор</TH>
<TH>год</TH>
<TH>категория</TH>
<TH>число</TH>
<TH>numonhand</TH>
<TH>резюме</TH>
</TR>
<TR>
<TD>Оранжевые Часы</TD>
<TD>1</TD>
<TD>1975</TD>
<TD>Научная Фантастика</TD>
<TD>5</TD>
<TD>3</TD>
<TD> Little Alex, played by Malcolm Macdowell,
and his droogies stop by the Miloko bar for a
refreshing libation before a wild night on the town.
</TD>
</TR>
<TR>
<TD>Sleepless In Seattle</TD>
...SQLTable
генерирует таблицу HTML, с заголовками для каждого столбца в таблице базы данных и строками для каждой строки в таблице базы данных.
storedProc
Создает объект сохраненной процедуры и выполняет определенную сохраненную процедуру.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
storedwProc (procName, inarg1, inarg2, ..., inargN)
Параметры
procName | Строка, определяющая имя сохраненной процедуры для выполнения. |
inarg1, ..., inargN | Входные параметры, которые будут переданы процедуре, разделенные запятыми. |
Возвращает
Новый объект Stproc
.
Описание
Область видимости объекта сохраненной процедуры это одиночная страница приложения. Другими словами, все методы, которые будут выполнены для любого образца storedProc
, должны вызываться на той же самой странице приложения, на которой объект создан.
Когда Вы создаете сохраненную процедуру, Вы можете определить значения по умолчанию для любого из параметров. Тогда, если параметр не задан, когда сохраненная процедура выполнена, процедура использует значение по умолчанию. Однако, когда Вы вызываете сохраненную процедуру из server-side приложения JavaScript, Вы должны указать, что Вы хотите использовать значение по умолчанию, печатая
"/Default/"
вместо параметра. (Не забудьте, что JavaScript чувствителен к регистру.) Например:
spObj = connobj.storedProc ("newhire", "/Default/", 3)
toString
Возвращает строку, представляющую определенный объект.
Метод объекта |
Connection
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
toString()
Параметры
Нет.
Описание
Каждый объект имеет метод toString
, который автоматически вызывается, когда объект должен представиться как текстовое значение или когда объект упоминается в строковой конкатенации.
Этот метод возвращает строку в следующем формате:
db "name" "userName" "dbtype" "serverName"
где
name | Имя базы данных. |
userName | Имя пользователя, соединенного с базой данных. |
dbType |
Одно из ORACLE , SYBASE , INFORMIX, DB2 или ODBC .
|
serverName | Имя сервера баз данных. |
Метод показывает пустую строку для любых атрибутов, чьи значения неизвестны.
Для информации об определении Вашего собственного метода toString
, смотрите метод Object.toString
.
Последняя Модификация: 10/31/97 16:36:13
Все мессаги сюда:yanich@inbox.ru |