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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сравнение по базе данных, сравнение по базе данных 
:(
    Опции темы
servannin
Дата 4.9.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет.Помогите с несложной задачкой.
Допустим,есть следующая задача:
- есть текстовое поле и кнопка "Save".В текстовое поле вводятся значения,которые ,при

нажатии на кнопку "Save",сохраняются в БД(т.е. они сохраняются в одном столбце таблицы).
Так вот.Покажите ,пожалуйста,кодом,как можно на java брать значение ,введённое в

текстовое поле,и сравнивать вновь введённое значение с уже существующими на

равенство(т.е. если такое значение уже существует,то выводим ошибку)??
Идея следующая:
Код

........

 else if(Constants.ACTION_NEW.equals(theForm.getAction())) //здесь новое действие ,в 

данном случае - сохранение
          {
            if (StringUtils.isNotEmpty(theForm.getXsltName())) {//проверка на непустое 

поле
             newSave(theForm);//сохраняем
              msg.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                  Constants.MSG_NEW_OPTION, MAILER_NAME
              ) );//выводим сообщение,что всё нормально
            } else {
              errors.add(ActionMessages.GLOBAL_MESSAGE,
                  new ActionMessage(Constants.ERR_EMPTY_FIELD, "XSLT Name"));//иначе - 

ошибка
            }
          }
   ........

Нужно сделать метод,который брал бы значение текстового поля и сравнивал его с уже

имеющимися в БД,И прикрутить его в выше приведённый код.
Хэлп плиз.Буду очень благодарен.
Заранее спасибо
PM MAIL   Вверх
batigoal
Дата 4.9.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(servannin @ 4.9.2005, 15:21)
Нужно сделать метод,который брал бы значение текстового поля и сравнивал его с уже имеющимися в БД


А что за текстовое поле? В смысле, этот код - это JSP-страница, локальное приложение, сервлет?..

Для подключения к базе нужно использовать JDBC.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
servannin
Дата 4.9.2005, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



здесь подключается следующее:
Код

import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.Collection;
import java.util.ArrayList;

я так понимаю,что это сервлет (я просто пока новичёк в java...)
я думаю,что в методе должно быть следующее:
1- подключ. к БД,
2- выборка из базы тех значений которые мы уже ввели,
3- сравнение с текущим значением(точнее с вновь введённым).(хотя этот пункт можно и не здесь, наверное)
или как то по другому...?
Короче,вот в том коде,который я представил в самом начале темы,идёт проверка на непустое поле ... хотелось бы ещё добавить чтобы,была проверка на одинаковые значения...
PM MAIL   Вверх
LSD
Дата 4.9.2005, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(servannin @ 4.9.2005, 16:02)
1- подключ. к БД,
2- выборка из базы тех значений которые мы уже ввели,
3- сравнение с текущим значением(точнее с вновь введённым).(хотя этот пункт можно и не здесь, наверное)
или как то по другому...?

Вообщем да, но можно не выбирать все значения, а попытаться выбрать одно которое было-бы равно текущему (так быстрее будет), если запрос вернет 0 строк, то такого поля нет и можно вставлять, нет выдаем ошибку.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
servannin
Дата 4.9.2005, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



то есть,например, так :
Statement st = connection.createStatement();
ResultSet re = st.executeQuery("select * from Table_name where filed_name=''" + your_variable);
if(resultSet.next(){
String error = "Info already exists");
}
где your_variable - текущее значение,введённое в текстовое поле,только вот проблемка:
как его получить средствами java ?
и допустим это всё сделаю как метод...но как бы его "приделать" к тому коду,который я написал в начале темы ?
Спасибо
PM MAIL   Вверх
LSD
Дата 4.9.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



То что ты привел вначале не код, это его куски. Единсвенно что похоже, это if(StringUtils.isNotEmpty(theForm.getXsltName())), т.е. как я полагаю theForm.getXsltName() и вернет нам искомое значение.

P.S. А вообще это какой-то reverse engineering, а не программирование.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
servannin
Дата 4.9.2005, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



мне тут подсказали,что нужно использовать struts...можно ли продемонстрировать как в данном случае использовать стратс или хотя бы объяснить на словах ?
или привести небольшие примеры использования struts
PM MAIL   Вверх
sragio
Дата 6.9.2005, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: 1



Цитата(servannin @ 4.9.2005, 21:47)
мне тут подсказали,что нужно использовать struts...можно ли продемонстрировать как в данном случае использовать стратс или хотя бы объяснить на словах ?
или привести небольшие примеры использования struts

Struts это framework реализующий модель MVC.

Думаю тебе все таки стоит напсать данный примерчик на Servlet или JSp + Bean's.

А потом уже разбираться со Struts.
Добавлено @ 16:58
Цитата(servannin @ 4.9.2005, 21:47)
мне тут подсказали,что нужно использовать struts...можно ли продемонстрировать как в данном случае использовать стратс или хотя бы объяснить на словах ?
или привести небольшие примеры использования struts

Struts это framework реализующий модель MVC.

Думаю тебе все таки стоит напсать данный примерчик на Servlet или JSp + Bean's.

А потом уже разбираться со Struts.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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