RaptuGava, извиняюсь за задержку ответа - отдыхал, на интернет доступа не было вообще.
Теперь отвечаю:
Для того, чтобы получить или изменить записи в БД тебе MetaData вообще не нужна. А нужно тебе после Connection получить Statement или PreparedStatement. В твоем коде это будет так:
. . .
try
{
. . .
Statement stmt = con.createStatement();
Далее будут различия, в зависимости от того, что ты хочешь. Допустим, ты хочешь получить данные из БД. Данные получаются в виде ResultSet. Сделать надо вот что:
String sql = "select * from table1, table2 where . . ."; //В общем - нужный тебе SQL в явном виде
ResultSet rs = stmt.executeQuery(sql);
ResultSet состоит из набора записей результата. ResultSet может иметь разные свойства, в зависимости от драйвера JDBC и самой базы данных. Наиболее универсальный ResultSet поддерживает только последовательный доступ к записям результата (как и будет в примере JDBC/ODBC, который ты используешь). Тогда действуешь так:
while(rs.next())
{
//Здесь обработка текущей записи результата
}
Для обработки текущей записи класс ResultSet предоставляет множество методов вида
getType(int colnum). Здесь Type будет соответствовать типу возвращаемого значения, а colnum - номер поля в записи,
начиная с 1( :!: ). Детальное описание потребует большой статьи (смотри АПИ для класса ResultSet), но вкратце - возвращаемый тип должен быть или строка, или совместим с реальным типом в базе данных.
Например, я хочу вывести на экран первое (
самое первое) и четвертое поле каждой записи результата, разделив их запятой. Тогда обработка текущей записи будет выглядеть так:
System.out.println(rs.getString(1)+", "+rs.getString(4));
. . .
Вот и все для извлечения данных.
Если хочешь изменять данные в базе, вместо executeQuery() используй executeUpdate(). Это будет справедливо и для
insert,
update,
delete, и даже для
create table,
drop table и т.д.
Cкажем, хочешь уничтожить из таблицы
person все записи, для которых age > 65. Тогда будет такой код:
String sql = "delete from person where age>65";
inr kz = stmt.executeUpdate(sql);
. . .
Надеюсь, это сообщение тебе поможет. Если есть конкретные вопросы - пиши. Успехов тебе.