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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование типов данных Java в типы SQL 
:(
    Опции темы
Grelloo
Дата 27.6.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

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



Есть ли в java методы, которые позволяют преобразовать типы данных java (int, double и т. д.) в типы данных SQL (varchar, numberic) в зависимости от используемой базы данных. Можно конечно сделать явное преобразование, но хотелось бы универсальности
 
PM MAIL ICQ   Вверх
batigoal
Дата 27.6.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А почему встала такая задача? При использовании JDBC в подобном приведении нет необходимости.

А вообще, типы данных базы по определению не будут примитивными типами Java. Но их можно представить в виде класса, и встроить в JDBC-драйвер.  

Это сообщение отредактировал(а) Lamer George - 27.6.2006, 10:42


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


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

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



Цитата(Lamer George @  27.6.2006,  10:40 Найти цитируемый пост)
А почему встала такая задача? При использовании JDBC в подобном приведении нет необходимости.

Ну хорошо, как сделать например следующее:
Приходит объект класса с полями City - string и Popul - int, как мне его вставить в базу данных, если там еще нет таблицы для него?
То есть заменить 
Код

CREATE TABLE `tablename` (
  `City` varchar(50),
  `Popul` numeric,
  PRIMARY KEY  (`City`)
)

Пока что мне явно приходится прописывать, что String надо преобразовать к varchar, а int в numeric 
PM MAIL ICQ   Вверх
powerOn
Дата 27.6.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(Grelloo @  27.6.2006,  12:15 Найти цитируемый пост)
как мне его вставить в базу данных, если там еще нет таблицы для него?

Ну конечно никак. А куда же еще вставляются данные если не в таблицу? Нужно таблицу сначало создать.

Цитата(Grelloo @  27.6.2006,  12:15 Найти цитируемый пост)
Пока что мне явно приходится прописывать, что String надо преобразовать к varchar, а int в numeric  

Покажи код, как ты это делаешь.  


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Grelloo
Дата 27.6.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

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



Цитата(MoonCat @  27.6.2006,  11:25 Найти цитируемый пост)
Ну конечно никак. А куда же еще вставляются данные если не в таблицу? Нужно таблицу сначало создать.

Это понятно, но типы данных SQL сразу-то неизвестны в этом проблема

Цитата(MoonCat @  27.6.2006,  11:25 Найти цитируемый пост)
Покажи код, как ты это делаешь.   

Дак вот пока никак, просто запрашиваю у HashMap тип SQL в зависимости от java-типа
Код

map.get("Тип данных java"); //получаю тип данных SQL


 
PM MAIL ICQ   Вверх
powerOn
Дата 27.6.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(Grelloo @  27.6.2006,  12:42 Найти цитируемый пост)
но типы данных SQL сразу-то неизвестны в этом проблема

Типы данных поддерживаемые твоей БД можно узнать через 
Код

Connection c = DriverManager.getConnection(...);
ResultSet rs = c.getMetaData().getTypeInfo();


rs - будет содержать информацию о типах данных поддерживаемых твоей БД.
Надеюсь что эта инфа поможет...  smile  


--------------------
user posted image нет времени думать - нужно писать КОД!

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

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

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


 




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


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

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