-=1=- Создание БД -- Запускаем Access. У меня при запуске вываливается три радиобатона - Hовая база, Запуск мастера, Открыть Базу Данных. Выбираю "Hовая база". Выскакивает фрейм с вопросом где и с каким именем сохранить БД - указываю. Появляется еще фрейм, в котором в разделе "таблицы" указываю - "создать". Еще одно окно - выбираю "режим таблицы". Появляется табличка как в Excel(Quatro Pro и т.д.). Переименовать столбец можно щелкнув по нему правой кнопкой мыши и выбрав пункт "Переименовать столбец". Поля заполняются как в Excel,Quatro Pro, etc. После заполнения таблицы жму на ALT+F4 - появляется вопрос - сохранить таблицу? Соглашаюсь и подтверждаю название таблицы. Hа вопрос о ключевых полях отвечаю -нет-.
-=2=- Теперь нужно прописать БД в винде. -- Захожу "пуск - настройка - панель управления - 32bit ODBC - System DSN - Add" Выбираю из списка "Micrososft Access Driver(*.mdb)" жму "готово". Появляется фрейм - в поле "Data Source Name" пишу имя БД(думаю можно любое - пусть профи меня поправят),то под каким сохранил(например, db1.mdb - сохраненная БД, значит пишу - db1). Hажав кнопку "SELECT" выбираю БД(в этом случае - db1.mdb) - жму ОК и в окне "System DSN" вижу "db1 Microsoft Access Driver(*.mdb)" -=3=- Создание файла для доступа к БД
import java.sql.*;
class ListClasses
{
public ListClasses() throws SQLException
{
String a,b,c;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (java.lang.ClassNotFoundException exc)
{System.out.println("ClassNotFoundException");exc.printStackTrace();}
Connection Ex1Con =
DriverManager.getConnection("jdbc:odbc:db1","login","password");
/*в скобках указывается URL,login,password
URL имеет вид
jdbc:<субпротокол>:<имя,связанное с СУБД, или Протоколом>
У БД в интернет/интранет "имя" может содержать сетевой URL
//<имя хоста>:<порт>/..
для моста JDBC-ODBC
jdbc:odbc:
где, db1 - имя БД, login - имя входящего, password - пароль
последние два параметра я в своем примере опускал */
Statement Ex1Stmt = Ex1Con.createStatement();
ResultSet Ex1rs = Ex1Stmt.executeQuery("SELECT * FROM alex");
//выполняется SQL-запрос -- выбрать (SELECT) все столбцы(*) из(FROM) таблицы
//alex
System.out.println("Class Location Schedule");
while (Ex1rs.next()){
a = Ex1rs.getString(1);
b = Ex1rs.getString(2);
c = Ex1rs.getString(3);
System.out.println(a + " " + b + " " + c);
}
}
//Здесь(выше) берется всего 3 столбца из таблицы
public static void main(String args[]) throws Exception
{
try{
ListClasses l = new ListClasses();
}
catch (NoClassDefFoundError e)
{
System.out.println("Stop!");
e.printStackTrace();
}
}
}
Это простейший пример доступа к БД, полезность его вижу в том, что он рабочий. Этот же пример был проверен с InterBase SQL-server version WI-V4.2.1.328 Подробно описывать каждую строку не вижу смысла - чтобы разобраться с JDBC нужно почитать литературу по JDBC&SQL(хотя бы основы запросов) и/или посмотреть исходники классов пакета java.sql.*. Далее советую посмотреть примеры из свинга -- у меня Swing1.1 - Examples\DBDemos; Examples\Table\TableExample2,JDBCAdapter,TableSorter,TableMap. Мне очень помог класс JDBCAdapter. Я по своей неопытности столкнулся с тем, что вроде бы правильный пример не хотел запускаться, здесь я описал все шаги для запуска этого самого примера.
Ссылки по теме