Логин:   Пароль:




Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100

РуководстваРуководство по JDBC v.1

Руководство по JDBC v.1


Предыдущий | Содержание | Следующий

9 - Пример



// Следующий код может использоваться в качестве шаблона. 
// Просто надо заменить соответствующие URL, login, пароль, и
// SQL-выражения на требуемые в каждой конкретной задаче строки.



//-------------------------------------------------------------
//
// Модуль:    SimpleSelect.java
//
// Описание: Тестовая программа для интерфейса ODBC API.
// Это java-приложение соединяется с драйвером JDBC,
// испускает запрос "select" и отображает все результаты 
// в виде таблицы
//
// Продукт:   JDBC to ODBC Bridge
//
// Автор:    Karl Moss
//
// Дата:      февраль 1996
//
// Copyright: 1990-1996 INTERSOLV, Inc.
// This software contains confidential and proprietary
// information of INTERSOLV, Inc.
//-------------------------------------------------------------


import java.net.URL;
import java.sql.*;

class SimpleSelect
{
 public static void main (String args[])
 {
  String url   = "jdbc:odbc:my-dsn";
  String query = "SELECT * FROM emp"; 
  try
  {

   // Загружаем драйвер моста jdbc-odbc

   Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
   DriverManager.setLogStream(System.out);

   // Пытаемся соединиться с драйвером. Идет поиск
   // хотя бы одного из зарегистированных 
   // драйверов, который может обработать этот URL

   Connection con = DriverManager.getConnection (
                    url, "my-user", "my-passwd");

   // Если у нас не получится, то будет

   // сгенерировано исключение. Т.о., если мы до сюда дошли,
   // мы успешно соединились с URL
   // Посмотрим, какие замечания были сгенерированы
   // процедурой соединения. Выведем их.

   checkForWarning (con.getWarnings ());

   // Получить объект DatabaseMetaData и отобразить 
   // некоторую информацию об этом подключении

   DatabaseMetaData dma = con.getMetaData ();
   System.out.println("\nConnected to " + dma.getURL());
   System.out.println("Driver       " + dma.getDriverName());
   System.out.println("Version      " + dma.getDriverVersion());
   System.out.println("");

   // Создаем объект Statement, чтобы можно было
   // отсылать SQL-запросы к драйверу

   Statement stmt = con.createStatement ();

   // Отсылаем запрос, получаем объект

   ResultSet rs = stmt.executeQuery (query);

   // Показать все колонки и стороки из набора данных

   dispResultSet (rs);

   // Закрыть набор данных

   rs.close();

   // Закрыть оператор

   stmt.close();

   // Закрыть соединение

   con.close();
  }
  catch (SQLException ex)
  {

   // Сгенерировалось исключение SQLException. Отловить его
   // и отобразить информацию об ошибке. 
   // Заметим, что может быть несколько объектов ошибки, 
   // соединенных вместе в одну цепочку

   System.out.println ("\n*** Поймали SQLException ***\n");

   while (ex != null)
   {
    System.out.println ("SQLState: " + ex.getSQLState ());
    System.out.println ("Сообщение:  " + ex.getMessage ());
    System.out.println ("Vendor:   " + ex.getErrorCode ());
    ex = ex.getNextException ();
    System.out.println ("");
   }
  }
  catch (java.lang.Exception ex)
  {
   // Получили ошибку другого типа. Распечатать ее.

   ex.printStackTrace ();
  }
 }

//-------------------------------------------------------------
// checkForWarning
// Проверить, есть ли предупреждения, и отобразить их. 
// Возвращает true, если предупреждение есть.
//-------------------------------------------------------------

 private static boolean checkForWarning (SQLWarning warn)      
       throws SQLException
 {
  boolean rc = false;

  // Если дан объект SQLWarning, отобразить
  // сообщения о предупреждениях. Заметьте, что может быть
  // несколько предупреждений, связанных в цепочку
      
  if (warn != null)
  {
   System.out.println ("\n *** Warning ***\n");
   rc = true;
   while (warn != null)
   {
    System.out.println ("SQLState: " + warn.getSQLState ());
    System.out.println ("Message:  " + warn.getMessage ());
    System.out.println ("Vendor:   " + warn.getErrorCode ());
    System.out.println ("");
    warn = warn.getNextWarning ();
   }
  }
  return rc;
 }

//-------------------------------------------------------------
// dispResultSet
// Отображает все колонки и строки в данном наборе данных
//-------------------------------------------------------------

 private static void dispResultSet (ResultSet rs)
       throws SQLException
 {
  int i;

  // Получить ResultSetMetaData. Он нужен для
  // получения загловков колонок

  ResultSetMetaData rsmd = rs.getMetaData ();

  // Взять количество колонок в наборе данных
      
  int numCols = rsmd.getColumnCount ();

  // Показать шапку

  for (i=1; i<=numCols; i++)
  {
   if (i > 1) System.out.print(",");
   System.out.print(rsmd.getColumnLabel(i));
  }
  System.out.println("");
      
  // Показать все данные вплоть до конца набора данных

  boolean more = rs.next ();
  while (more)
  {

   // Для каждой колонки в цикле: получить
   // ее значение и показать его

   for (i=1; i<=numCols; i++)
   {
    if (i > 1) System.out.print(",");
    System.out.print(rs.getString(i));
   }
   System.out.println("");

   // Передвинуться на следующую строку набора данных

   more = rs.next ();
  }
 }
}

Предыдущий | Содержание | Следующий


Аллен Вайк, Джейсон Джиллиам
"JavaScript. Полное руководство"
Подробнее>>
Заказать>>


Питер Вейнер
"Java и JavaScript"
Подробнее>>
Заказать>>

Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Apache Struts 2.0.11
Apache MyFaces Trinidad Core 1.2.3.
Sun переводит мобильные устройства с Java ME на Java SE
Хакерская атака!