Проверьте, действительно ли редактирование для базы данных ms-access - PullRequest
2 голосов
/ 20 апреля 2010

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

Пример объявления метода:

something.isValid(Object newObject, row, column);

Примеры случаев:

  • Если в ячейке редактирования хранится число и я даю ему строку, метод вернет ложь ...
  • Если редактирование клетка должна отличаться от каждой другая запись (уникальная) и новый объект так же, как и что-то еще, метод также вернет false ....

Моя главная цель ... Я хочу проверить всю строку, и если все верно, я отредактирую всю строку.

Прямо сейчас, единственный способ узнать, могу ли я на самом деле редактировать что-либо, - это на самом деле отредактировать это и посмотреть, получаю ли я ошибку.

edit: // Interface DatabaseMetaData - хороший метод. Есть ли метод команд SQL?

**** edit: // Я чувствую, что данные resultsetmeta достаточно хороши. Однако, где метод isUnique()? ** edit: // isSigned () выполняет это? edit: // Поэтому я просто проверяю, является ли! isSigned () и isWritable (). Как насчет условий столбца базы данных? Например ... X должен содержать более 3 символов ... **

1 Ответ

3 голосов
/ 21 апреля 2010

Не используйте Object, а просто используйте тип, связанный с данным типом данных.Вы можете найти здесь более подробную информацию о том, какие типы объектов Java вы должны использовать для определенных типов данных БД с каждой из этих таблиц:

альтернативный текст http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/getstart/mapping.anc1.gif

В качестве альтернативы, вы можете использовать DatabaseMetaData#getColumns() для расчета информации о столбце (имя столбца, тип данных, размер, максимальная длина, обнуляемый и т. д.).

Существует множество других методов, которые могут быть полезны, например, getIndexInfo() для расчета всех индексов, getPrimaryKeys() для расчета PK, getExportedKeys() для расчета ФК и так далее.Просто посмотрите немного по всему DatabaseMetaData API , чтобы найти то, что вам нужно.

...