Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Concurrent programs на pl/sql в формах 
:(
    Опции темы
Maksim8
Дата 5.12.2004, 17:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я только начинаю изучать pl/sql и Oracle eBS, нужна помощь.
Такая проблема, пишу программу на pl/sql, которая делала бы апдейт имени клиента, по вводимому номеру клиента. Но это надо делать не в конкретной таблице базы данных, а через Oracle applications forms, то есть надо создать sql файл, котоый бы вызывался в формах как concurrent program.
Раньше приходилось делать такое в SQL*plus, зная названия используемых полей, а тут требуется процедура, которая была бы связывала названия полей в базе с названиями в формах. Как это лучше сделать? 3аранее благодарен.

  Вверх
igon
Дата 6.12.2004, 05:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 30.10.2004

Репутация: 7
Всего: 21



Цитата
eBS
или iAS? smile

Цитата
Но это надо делать не в конкретной таблице базы

Может лучше
Цитата
Но это надо делать не прямым Update конкретной таблицы базы
?

Просто по номеру клиента Update его имени делать нельзя, разве что генерировать его случайно smile. Поэтому собственно новое имя клиента тоже нужно. Для иллюстрации вполне подойдет процесс авторизации, реализованный на jsp

Файл index.jsp

Код

<%@ page contentType="text/html;charset=Windows-1251"%>
<html>
<head>
       <meta content="text/html; charset=WINDOWS-1251" http-equiv="Content-Type">
       <meta http-equiv="Expires" content="0">
       <meta http-equiv="Cache-Control" content="max-age=0">
       <link href="/webapp/css/oracle.css" rel="stylesheet" type="text/css">
       <title>Вход</title>
</head>
<body>
<div align="center">
<font color=green>
<h1><font size="7" face="Times New Roman" color="#336699"><i>Ввод</i></font> </h1>
</font></div>
<div align="center" valign="center">
       <form method="POST" action="login.jsp">
       <table bgcolor="#CFCFCF" border="0" cellpadding="5" cellspacing="0">
       <tr bgcolor="black" style="color: white">
               <th nowrap colspan="2">Авторизация доступа</th>
 </tr>
       <tr>
           <td nowrap>Пользователь:</td> //Для твоего случая это номер клиента
           <td>
               <input type="TEXT" maxlength="10" name="LOGIN" size="10" value="">
           </td>
       </tr>
       <tr>
           <td nowrap>Пароль:</td> // А это - его новое имя
           <td>
               <input maxlength="10" name="PASSW" size="10" type="password" value="">
           </td>
       </tr>
       <tr>
               <td colspan="2" align="center">
               <input type="SUBMIT" name="SUBMIT" value="   OK   " class="button">
           </td>
       </tr>
       </table><br>
       </form>
</div>
</body>
</html>


index.jsp вызывает файл login.jsp

Код

login.jsp
<%@ page import="java.sql.*, java.math.BigDecimal" contentType="text/html;charset=Windows-1251"%>
<html>
<head>
       <meta content="text/html; charset=WINDOWS-1251" http-equiv="Content-Type">
       <meta http-equiv="Expires" content="0">
       <meta http-equiv="Cache-Control" content="max-age=0">
       <link href="/webapp/css/oracle.css" rel="stylesheet" type="text/css">
       <title>Вход</title>
</head>
<body>
<%
String employee = new String();
String password = new String();

      try
       {
               employee = request.getParameter("LOGIN");

               password = request.getParameter("PASSW");
// GET_EMP_LOG - это хранимая процедура, которая и выполнит то, что нужно, для клиента с параметрами employee и password (номер и имя клиента)
CallableStatement cs = conn.prepareCall("{ ? = call GET_EMP_LOG('" + employee + "','" + password+ "') }");
cs.registerOutParameter(1,Types.NUMERIC); // Сюда помещается результат функции
cs.execute();

   if(cs.getInt(1) == 0)
   {
 // пользователь не прошел аутентификацию
response.sendRedirect("index.jsp"); // Неудача - отправляем назад
    return;

   }
   else
   {

        // Успешно - отправляем дальше
response.sendRedirect("main.jsp");       return;
         }
       }
...

Код я, естественно, сильно урезал
Любые инициируемые пользователем изменения в БД я бы порекомендовал делать через хранимые процедуры


--------------------
Хотите поговорить об этом?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.