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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Способы избавления, от глюка с ломанием таблиц 
:(
    Опции темы
simanyay
  Дата 18.2.2004, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


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

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



Привет. Подскажите способы для избавления от глюка такого рода:
Когда пользователь вносит в базу данных (при помощи форм, например) много символов без пробелов (например, 11111111111111111111111111111111111111111), то таблица в которой это отображается ломается. Как этого избежать?


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
BearBeer
Дата 18.2.2004, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



проверяешь ввод пользователя на уровне клиента.

Т.е. на уровне того языка, который контактирует с базой. Ты же сам знаешь какой ввод допустим, а какой нет? Вот и запрещаешь недопустимые операции с сообщением об ошибке.
PM MAIL YIM   Вверх
BearBeer
Дата 18.2.2004, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да, и какая база.
Оракл, например, на подобный сиквел, который пытается ввести недопустимое значение просто ругнется.

Если ты используешь какие-то другие методы для записи, а не SQL, то советую пересмотреть, как эти методы обрабатывают ошибки и все-таки перейти полностью на запросы.
PM MAIL YIM   Вверх
simanyay
Дата 19.2.2004, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


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

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



Суть не в этом. У меня уже есть система проверки. Т.е. я меняю все < и > на &lt; и &gt; и т.д. Но суть в том, что строка

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111

по сути корректна, но при её отображении таблица ломается sad.gif

Да и в Oracle (я его использую) запрос, типа INSERT INTO some_table VALUES('111111111111111111111111'); прокатит


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
BearBeer
Дата 20.2.2004, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



тогда более подробно описание проблемы дай.

Что значит "ломается"?
Какую ошибку выдает оракл?
PM MAIL YIM   Вверх
BearBeer
Дата 20.2.2004, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



просто я не могу понять - ты вводишь больше символов, чем разрешает поле?
Или разрешимое количество символов, но без пробелов, и поэтому появляется ошибка?
PM MAIL YIM   Вверх
simanyay
Дата 20.2.2004, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


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

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



Я понял, Вас смутио слово "ломается". Да, неудачный термин.
Вот пример:

1. В текстовое поле можно ввести 2000 символов.
2. На следующей странице оно отображается к примеру в таком виде: 25% - какое-нибудь меню и 75% - этот текст.
3. Если ввести нормальный текст, то всё ок. Слова переносятся.
Но если ввести длинную строку без пробелов, то при отображении страница расширяется, а то и вообще вся разметка ломается.

И вопрос в том, как это избежать. Я запостил именно сюда, т.к. не знаю как это сделать - на стороне сервера (например PHP или JSP/Servlet) или же на клиенте (JavaScript или же в идеале просто HTML).

Надеюсь всё понятно.


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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