Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
California Tennessee 1921 ok ⇐ ПредыдущаяСтр 3 из 3
Tennessee Tennessee 1920 ok Washington Noth Carolina 1941 ok Подготовленный запрос Подготовка означает синтаксический анализ, оптимизацию и программирование запроса. Подготовленный запрос передается ODBC. Преимущество подготовленных запросов: Уменьшение загрузки компьютера, Повторное выполнение запроса. Методы для подготовленного запроса
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");} Результат подготовленного запроса California Tennessee 14 12 32000 Haruna Kongo 14 8 32000 Kirishma Kongo 14 8 32000 Musshi Yamato 18 9 65000 New Jersey Iowa 16 9 46000 Ramillies Revenge 15 8 29000 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());}; } Получение результата из resultSet ResultSet object is a Set of data, consists of rows and columns. Methods getxxx() return the field. Изоляция транзакций
Банковские счета Транзакция – перевод денег 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());} } Транзакция – перевод денег
Purchasing(Connection con,Statement st) public void purchasing(Connection con,Statement st) { Инициализация bal1,bal2,amount; // Найти баланс счета 12345 try{ ResultSet res=st.executeQuery( "SELECT Accounts.balance "+ "FROM Accounts "+ "WHERE (Accounts.account=12345)"); while(res.next()){ bal1=res.getInt(1); // Найти баланс счета 33333 res=st.executeQuery( "SELECT Accounts.balance "+ "FROM Accounts "+ "WHERE (Accounts.account=33333)"); while(res.next()){ bal2=res.getInt(1);} if(bal1>amount){bal1=bal1-amount;bal2=bal2+amount; //перевод денег со одного счета на другой val1=st.executeUpdate("UPDATE Accounts SET Accounts.balance="+bal1+" WHERE (Accounts.account=12345)"); val2=st.executeUpdate("UPDATE Accounts SET Accounts.balance="+bal2+" WHERE (Accounts.account=33333)");} if(val1>0&&val2>0)con.commit();else con.rollback(); }catch(SQLException e){};} Билеты на авиарейс Транзакция – заказ билетов 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());} } Транзакция – заказ билетов
|
||||||||||||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 154; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.77.98 (0.013 с.) |