Средства доступа к данным

Разработка программы, обеспечивающей ввод и редактирование информации (новостей) об объектах в соответствии с заданной предметной областью. ER-модель базы. Исходный код программы. Доступ к данным, осуществляемый с использованием средств JDBC или ODBC.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 13.11.2014
Размер файла 624,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Московский государственный университет путей сообщения (МИИТ)

Кафедра «Автоматизированные системы управления»

Отчет

по лабораторной работе №2

на тему

«Средства доступа к данным»

по дисциплине «Корпоративные информационные системы»

Вариант 6

Выполнил ст.гр. УВА-411:

Иванов П.С.

Проверил:

Варфоломеев А.В.

Москва 2014

Постановка задачи

Разработать программу, обеспечивающую ввод и редактирование

информации об объектах в соответствии с заданной предметной областью.

Информация об объектах должна храниться в отдельной базе данных. Доступ к данным осуществляется с использованием средств JDBC или ODBC.

Вариант:

доступ данные информация

Исходный код программы

create database agenstvo;

use agenstvo;

create table kategor (id_kt integer not null, name char (32));

create table news (id_kt integer not null,id_nws integer not null, name char(150), red char(32), mesto char(32));

insert into kategor values (1, 'Спорт');

insert into kategor values (2, 'Политика');

insert into kategor values (3, 'АВТО');

insert into news values (1,1,'Форвард «Зенита» Халк: В России с расизмом не сталкивался»','Чемпионат.com', 'Россия');

insert into news values (1,2,'«Локомотив» -- чемпион по тренерским отставкам','Чемпионат.com','РФПЛ');

insert into news values (1,3,'5 выводов после матча «Бенфика» -- «Зенит»','Sportbox','Группа C');

insert into news values (2,4,'Взаимные санкции РФ и Запада','Lenta.ru','За рубежом');

insert into news values (2,5,'Большинство шотландцев не поняли, какие полномочия обещает им Лондон','РИА Новости','За рубежом');

insert into news values (2,6,'Единороссы получили свою Мосгордуму','«Коммерсантъ-Online»','Москва');

insert into news values (3,7,'Renault показала автомобиль с расходом 1 литр','АВТО-mail','Парижский автосалон');

insert into news values (3,8,'По дорогам России и Белоруссии ездят сотни машин-двойников','АВТО-mail','Россия');

insert into news values (3,9,'Автомобили Lada хотят собирать в Африке','«Коммерсант»','В мире');

ALTER TABLE kategor

ADD PRIMARY KEY (id_kt);

ALTER TABLE news

ADD PRIMARY KEY (id_nws);

ALTER TABLE news

ADD FOREIGN KEY (id_kt)

REFERENCES kategor (id_kt) on delete cascade;

package kic2;

import java.sql.*;

public class KIC2

{

private Connection con = null; // соединение с БД

private Statement stmt = null; // оператор

// Конструктор

public KIC2(String DBName, String ip, int port) throws Exception

{

// подключаю драйвер

Class.forName("com.mysql.jdbc.Driver").newInstance();

// устанавливаю соединение с БД

String url = "jdbc:mysql://localhost:3306/agenstvo";

con = DriverManager.getConnection(url, "root", "root");

stmt = con.createStatement();

}

// Завершение работы

public void stop() throws SQLException

{

con.close();

}

// Добавление категории

public boolean addKategor(int idkt, String namekt)

{

String sql = "INSERT INTO kategor (ID_kt, NAME)" + "VALUES ("+idkt+", '"+namekt+"')";

try

{

stmt.executeUpdate(sql);

System.out.println("Категория "+namekt+ " успешно добавлена!");

return true;

}

catch (SQLException e)

{

System.out.println("ОШИБКА! Категория "+namekt+" не добавлена!");

System.out.println(" >> "+e.getMessage());

return false;

}

}

// Добавление новости в категорию

public boolean addNews(int idkt, int idnws, String name, String red, String mesto)

{

String sql = "INSERT INTO news (ID_kt, ID_nws, name, red, mesto )" + "VALUES ("+idkt+", "+idnws+", '"+name+"', '"+red+"', '"+mesto+"')";

try

{

stmt.executeUpdate(sql);

System.out.println("Новость "+idnws+ name+ " успешно добавлена!");

return true;

}

catch (SQLException e)

{

System.out.println("ОШИБКА! Новость "+idnws+ name+" не добавлена!");

System.out.println(" >> "+e.getMessage());

return false;

}

}

// Удаление категории

public boolean deleteKategor(int id) throws SQLException

{

String sql = "DELETE FROM kategor WHERE ID_kt = "+id;

try

{

int c = stmt.executeUpdate(sql);

if (c>0)

{

System.out.println("Категория с идентификатором "+ id +" успешно удалена!");

return true;

}

else

{

System.out.println("Категория с идентификатором "+ id +" не найдена!");

return false;

}

}

catch (SQLException e)

{

System.out.println(

"ОШИБКА при удалении страны с идентификатором "+id);

System.out.println(" >> "+e.getMessage());

return false;

}

}

// Удаление новости

public boolean deleteNews(int id) throws SQLException

{

String sql = "DELETE FROM news WHERE ID_nws = "+id;

try

{

int c = stmt.executeUpdate(sql);

if (c>0)

{

System.out.println("Новость с идентификатором "+ id +" успешно удалена!");

return true;

}

else

{

System.out.println("Новость с идентификатором "+ id +" не найдена!");

return false;

}

}

catch (SQLException e)

{

System.out.println(

"ОШИБКА при удалении новости с идентификатором "+id);

System.out.println(" >> "+e.getMessage());

return false;

}

}

// Запрос всех категорий

public void showKategor()

{

String sql = "SELECT ID_kt, NAME FROM kategor";

try

{

ResultSet rs = stmt.executeQuery(sql);

System.out.println("СПИСОК Категорий:");

while (rs.next())

{

int id = rs.getInt("ID_kt");

String name = rs.getString("NAME");

System.out.println(" >> "+ id + " - " + name);

}

rs.close();

} catch (SQLException e)

{

System.out.println(

"ОШИБКА при получении списка категорий");

System.out.println(" >> "+e.getMessage());

}

}

// Запрос всех Новостей

public void showNews()

{

String sql = "SELECT * FROM news";

try

{

ResultSet rs = stmt.executeQuery(sql);

System.out.println("СПИСОК Новостей:");

while (rs.next())

{

//int idkt = rs.getInt("ID_kt");

int id = rs.getInt("ID_nws");

String name = rs.getString("NAME");

String red = rs.getString("red");

String mesto = rs.getString("mesto");

System.out.println(" ID:"+ id + " Имя: " + name + " Редакция: " + red + " Место:" + mesto);

}

rs.close();

}

catch (SQLException e)

{

System.out.println("ОШИБКА при получении списка новостей");

System.out.println(" >> "+e.getMessage());

}

}

//Изменить категорию

public boolean EditKategor(int id,String newname) throws SQLException

{

String sql = "Update kategor set NAME='"+newname+"' WHERE ID_kt = "+id;

int c = stmt.executeUpdate(sql);

if (c>0)

{

System.out.println("Категория с идентификатором "+ id +" изменена!");

return true;

}

else

{

System.out.println("Категория с идентификатором "+ id +"не изменена т.к нет такой категории!");

return false;

}

}

//Изменить новость

public boolean EditNews(int id,String newname, String newred, String newmesto ) throws SQLException

{

String sql = "Update news set NAME='"+newname+"',RED='"+newred+"',MESTO='"+newmesto+"' WHERE ID_nws = "+id;

int c = stmt.executeUpdate(sql);

if (c>0)

{

System.out.println("Новость с идентификатором "+ id +" успешно изменена!");

return true;

}

else

{

System.out.println("Новость с идентификатором "+ id +"не изменена т.к новости с таким id нет!");

return false;

}

}

//Поиск категории по id

public void PoiskpoKategor(int id) throws SQLException

{

String sql = "SELECT ID_kt, name FROM kategor WHERE ID_kt = " + id;

try

{

ResultSet rs = stmt.executeQuery(sql);

if ( rs.next()==true)

{

System.out.println("Категория:");

id = rs.getInt("ID_kt");

String name = rs.getString("name");

System.out.println(" >> "+ id + " - " +name );

}

else

{

System.out.println("категории с таким айди не существует!");

}

rs.close();

}

catch (SQLException e)

{

System.out.println(

"ОШИБКА при получении категории " );

System.out.println(" >> "+e.getMessage());

}

}

//Поиск новости по id

public void PoiskpoNews (int id) throws SQLException

{

String sql = "SELECT ID_nws, name,red,mesto FROM news WHERE ID_nws = " + id;

try

{

ResultSet rs = stmt.executeQuery(sql);

if ( rs.next()==true)

{

System.out.println("Новость:");

id = rs.getInt("ID_nws");

String name = rs.getString("name");

String red = rs.getString("red");

String mesto = rs.getString("mesto");

System.out.println(" >> "+ id + " - " +name +" "+red+ " "+mesto );

}

else

{

System.out.println("Новости с таким айди не существует!");

}

rs.close();

}

catch (SQLException e)

{

System.out.println(

"ОШИБКА при получении новости " );

System.out.println(" >> "+e.getMessage());

}

}

//Показать новости конкретной категории

public void NewsofKategor (int id) throws SQLException

{

String sql = "SELECT ID_kt,ID_nws, name FROM news WHERE ID_kt = " + id;

try

{

ResultSet rs = stmt.executeQuery(sql);

if ( rs.next()==true)

{

do

{

System.out.println("Новость:");

id = rs.getInt("ID_kt");

int idn=rs.getInt("ID_nws");

String name = rs.getString("name");

//String red = rs.getString("red");

//String mesto = rs.getString("mesto");

System.out.println(" >> id категории: "+ id + " >>id новости: " +idn+ " - "+name /*+" "+red+ " "+mesto*/ );

}

while (rs.next());

}

else

{

System.out.println("Новости нет, т.к категрии не существует!");

}

rs.close();

}

catch (SQLException e)

{

System.out.println(

"ОШИБКА при получении новости " );

System.out.println(" >> "+e.getMessage());

}

}

//

public static void main(String[] args) throws Exception

{

KIC2 agenstvo = new KIC2("agenstvo","localhost",3306);

//agenstvo.addKategor(4,"МcxxИР");

//agenstvo.addNews(2,10, " Мирвезде","Леgfhfнта","Планета");

//agenstvo.deleteKategor(1);

//agenstvo.deleteNews(4);

//agenstvo.showKategor();

//agenstvo.showNews();

//agenstvo.EditKategor(2, "ПФФФФф");

//agenstvo.EditNews(2,"ппррв","ппп","африка");

//agenstvo.PoiskpoKategor(2);

agenstvo.PoiskpoNews(10);

//agenstvo.NewsofKategor(2);

//agenstvo.showKategor();

}

}

Описание программы

public class KIC2- класс,содержащий в себе методы по побработке данных и т.дpublic KIC2(String DBName, String ip, int port)) - конструктор с параметрами. В теле конструктора происходит подключение драйвера, устанавливается соединение с БД.

public void stop() - завершение работы

public void showKategor - метод, который выводит на экран все существующие категории

public void showNews() - метод,который выводит на экран все существующие новости

public boolean addKategor(int idkt, String namekt)) - метод, позволяющий добавить новую категорию. На вход принимаются параметры: новый id, новое имя категории

public boolean addNews(int idkt, int idnws, String name, String red, String mesto) - метод, позволяющий добавить новую новость. На вход принимаются параметры: id категории, в которую будем добавлять, новое id новости, имя, редакцию, место

public boolean deleteKategor(int id) - метод,позволяющий удалить категориию ( по id). public boolean deleteNews(int id) - метод, позволяющий удалить новость ( по id)

public void PoiskpoKategor (int id) - метод, позволяющий выводить информацию о заданной категории. На вход принимается id, по которому будем производить поиск

public void PoiskpoNews (int id) - метод, позволяющий выводить информацию о заданном новости. На вход принимается id, по которому будем производить поиск

public void NewsofKategor (int id) - метод, позволяющий вывести на экран новости конкретной категории.

public boolean EditKategor(int id,String newname)- метод, позволяющий изменять существующую категорию. На вход принимаются параметры: id группы, новое имя

public boolean EditNews(int id,String newname, String newred, String newmesto ) - метод, позволяющий изменять существующую новость

public static void main(String[] args) - основная логика приложения

ER-модель базы данных

Размещено на Allbest.ru


Подобные документы

  • Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.

    курсовая работа [1,1 M], добавлен 30.12.2014

  • Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации. Средство защиты информации от несанкционированного доступа Secret Net 6.0. Разработка интерфейсной части программы, целевых функций.

    дипломная работа [1,2 M], добавлен 20.12.2013

  • Модель удаленного управления и доступа к данным. Преимущества архитектуры клиент-сервер. Выбор языка программирования. Разработка программы и создание базы данных. Нормирование условий труда программистов, операторов электронно-вычислительных машин.

    дипломная работа [2,3 M], добавлен 27.04.2014

  • Цель создания информационной системы. Описание программного обеспечения. Ввод и редактирование информации о поставщиках и поставках товара. Создание базы данных "Магазин по продаже одежды". Разработка механизмов доступа ко всем построенным объектам.

    курсовая работа [1,1 M], добавлен 16.11.2012

  • Построение программы, обеспечивающей взаимодействие с ней в режиме диалога для завуча школы. Инфологическая модель базы данных школы. Создание таблиц, запросов и отчетов. Главное интерфейсное окно. Формы "Редактирование данных " и "Ввод преподавателя".

    курсовая работа [780,4 K], добавлен 21.01.2015

  • Модели баз данных. Локальная, файл-серверная, клиент-серверная и распределенная архитектуры. Технология BDE для доступа к данным. Драйверы баз данных. Создание таблицы, интерфейс программы, дерево объектов, инсталлятор. Системы визуальной разработки.

    курсовая работа [989,5 K], добавлен 04.06.2013

  • Выбор режимов адресации, посредством которых будет осуществлен доступ к данным. Этапы создания программы. Характеристика таблицы символов и полученного файла листинга. Анализ изменения состояния регистра IP при выполнении команд JMP, Jcc, LOOPx.

    курсовая работа [4,9 M], добавлен 25.03.2012

  • Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.

    курсовая работа [1,5 M], добавлен 17.11.2010

  • Разработка модели и создание структуры реляционной базы данных. Организация данных в таблицах для предоставления оперативного доступа к данным. Основные структурные единицы базы данных Access: таблицы, запросы, формы, отчеты, страницы, макросы и модули.

    реферат [4,0 M], добавлен 03.02.2013

  • Создание базы данных. Составление запросов, фильтров и форм. Назначение и возможности программного средства. Обеспечение безопасности доступа к данным. Использование вычислительной техники в учебном процессе. Расчет себестоимости и цены программы.

    дипломная работа [834,4 K], добавлен 03.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.