Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Соединение с базой данных № 18Стр 1 из 3Следующая ⇒
Соединение с базой данных № 18 Интерфейс Java DataBase Connectivity Java.sql включает классы для работы с базой данных.
Методы Java DataBase Connectivity Interface
Выбор источника данных Oracle driver Проверка установки драйвера Statement
Чтобы сделать SQL предложение исполняемым, необходимо создать карту запроса и откомпилировать ее. Оператор Statement готовит карту запроса из SQL-предложения за один шаг. Простой запрос База данных находится на локальном компьютере, пользователь и пароль не установлены String code,name,clas,launched; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1) {System.out.println("ClassForNameException");}; try{ Connection con=DriverManager.getConnection("jdbc:odbc:Ships","","); Statement st=con.createStatement(); ResultSet res=st.executeQuery("SELECT * FROM Ships"); System.out.println("Result of query\n"); while(res.next()){ code= res.getString(1); name= res.getString(2); clas= res.getString(3); launched= res.getString(4); System.out.println(code+"\t"+name+"\t"+clas+"\t"+launched }catch(SQLException e){System.out.println("SQLException); } Результат запроса California Tennessee 1921 Haruna Kongo 1921 Heil Kongo 1915 Iowa Iowa 1914 Kirishma Kongo 1943 Kongo Kongo 1915 Missouri Iowa 1913 Musshi Yamato 1944 New Jersey Iowa 1942 Noth Carolina Noth Carolina 1943 Ramillies Revenge 1941 Renown Renown 1917 Repulse Renown 1916 Resolution Revenge 1916
Revenge Revenge 1916 Royal Oak Revenge 1916 Royal Sovereign Revenge 1916 Tennessee Tennessee 1920 Washington Noth Carolina 1941 Wisconsin Iowa 1944 Yamato Yamato 1941 Запрос включает проекцию и отбор База данных находится на локальном компьютере, пользователь и пароль не установлены String name,clas,launched; try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1){e1.PrintStackTrace();}; try{Connection con=DriverManager.getConnection("jdbc:odbc:Ships","",""); Statement st=con.createStatement(); ResultSet res=st.executeQuery( "SELECT Ships.name,Ships.clas,Ships.launched FROM Ships WHERE Ships.launched>1920"); System.out.println("Result of query\n"); while(res.next()){ name= res.getString(1); clas= res.getString(2); System.out.println(name+"\t"+clas+"\t"+launched);} }catch(SQLException e){e1.PrintStackTrace();} } Результат запроса California Tennessee 1921 Haruna Kongo 1921 Kirishma Kongo 1943 Musshi Yamato 1944 New Jersey Iowa 1942 Noth Carolina Noth Carolina 1943 Ramillies Revenge 1941 Washington Noth Carolina 1941 Wisconsin Iowa 1944 Yamato Yamato 1941 11. Запрос к двум таблицам String name,clas,launched,result; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1){ System.out.println("ClassForNameException");}; try{Connection con=DriverManager.getConnection("jdbc:odbc:Ships","",""); Statement st=con.createStatement(); ResultSet res=st.executeQuery( "SELECT Ships.name,Ships.clas,Ships.launched,Outcomes.result "+ "FROM Ships,Outcomes "+ "WHERE Ships.name=Outcomes.ship"); while(res.next()){ name= res.getString(1); clas= res.getString(2); launched=res.getString(3); result= res.getString(4); System.out.println(name+"\t"+clas+"\t"+launched+"\t"+result) }catch(SQLException e){System.out.println("SQLException") 12. Результат запроса к двум таблицам Tennessee Tennessee 1920 ok Подготовленный запрос Подготовка означает синтаксический анализ, оптимизацию и программирование запроса. Prepared statement String name,clas,bore,numGuns,displacement; try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1){}; try{Connection con=DriverManager.getConnection("jdbc:odbc:Ships","",""); PreparedStatement st=con.prepareStatement( "SELECT Ships.name,Ships.clas,Classes.bore, Classes.numGuns,Classes.displacement "+ “FROM Ships,Classes "+ "WHERE (Ships.clas=Classes.clas) AND (Ships.launched >?)"); st.setString(1,"1920"); ResultSet res=st.executeQuery(); while(res.next()){ name = res.getString(1);clas = res.getString(2); bore = res.getString(3);numGuns = res.getString(4); displacement = res.getString(5); System.out.println(name+"\t"+clas+"\t"+bore+"\t"+numGuns+"\t"+displacement); } }catch(SQLException e){System.out.println("SQLException");} Haruna Kongo 14 8 32000 Kirishma Kongo 14 8 32000 Musshi Yamato 18 9 65000
New Jersey Iowa 16 9 46000 Wisconsin Iowa 16 9 46000 Yamato Yamato 18 9 65000 Обновление базы данных String name,clas,bore,numGuns,displacement; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1){ System.out.println("ClassForNameException");}; try{ Connection con=DriverManager.getConnection("jdbc:odbc:Ships","",""); Statement st=con.createStatement(); int val=st.executeUpdate( "UPDATE Ships SET Ships.clas=ttt WHERE Ships.launched=1944"); System.out.println("Updated"+val+"rows"); }catch(SQLException e){System.out.println("SQLException "+e.getSQLState());}; } Изоляция транзакций
Банковские счета Транзакция – перевод денег String name,clas,launched,result; boolean ok,readonly; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1){}; try{Connection con=DriverManager.getConnection("jdbc:odbc:Accounts","",""); Statement st=con.createStatement(); Trans c=new Trans(); C.purchasing(con,st) }catch(SQLException e) {System.out.println("SQLException"+e.getSQLState());} } Транзакция – перевод денег Билеты на авиарейс Транзакция – заказ билетов String name,clas,launched,result;boolean conf=false; boolean ok,readonly; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e1) {System.out.println("ClassNotFoundException");}; try{Connection con=DriverManager.getConnection("jdbc:odbc:Engage","",""); Statement st=con.createStatement(); Transaction c=new Transaction(); // con.setTransactionIsolation(1); con.setReadOnly(true); conf=c.bookSeat(con,st); if(conf)con.commit();else con.rollback(); }catch(SQLException e) {System.out.println("SQLException"+e.getSQLState());} } Транзакция – заказ билетов Соединение с базой данных № 18
|
||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 186; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.115.179 (0.033 с.) |