Средства доступа к данным
Разработка программы, обеспечивающей ввод и редактирование информации (новостей) об объектах в соответствии с заданной предметной областью. 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