Информационная технология формирования компетенций в области использования геометрических эффектов в изобретательской деятельности

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.10.2018
Размер файла 3,0 M

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

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

int count=(int)query.ExecuteScalar();

string gE = count.ToString();

query = new SqlCommand("SELECT COUNT (Id) FROM Патенты", connection);

count = (int)query.ExecuteScalar();

string patent=count.ToString();

query = new SqlCommand("SELECT count(distinct(p.id)) FROM Патенты p inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id", connection);

string countLinkPattern = query.ExecuteScalar().ToString();

query = new SqlCommand(@"select count(distinct(t.id))

from(SELECT p.id

FROM Патенты p

inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id

group by p.id

having count(pg.Id) = 1)t", connection);

string countPatternOneLink = query.ExecuteScalar().ToString();

query = new SqlCommand(@"select count(distinct(t.id))

from(SELECT p.id

FROM Патенты p

inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id

group by p.id

having count(pg.Id) = 2)t", connection);

string countPatternTwoLink = query.ExecuteScalar().ToString();

query = new SqlCommand("SELECT COUNT (Id) FROM Патенты_Геометрических_Эффектов", connection);

count = (int)query.ExecuteScalar();

string pGE = count.ToString();

SqlDataReader myReader = sendQuery(@"SELECT top 3

max(ge.Название) Название,

count(pge.Id) Количество_связей

FROM Геометрические_эффекты ge

inner join Патенты_Геометрических_эффектов pge on ge.Id = pge.Геометрические_эффекты_Id

group by ge.Id

order by Количество_связей desc", connection);

string topLink = "";

while (myReader.Read())

{

topLink += myReader["Название"] + " всего связей " + myReader["Количество_связей"].ToString() + "\r\n";

}

myReader.Close();

MessageBox.Show("Паттерны"+

"\r\nВсего патентов в базе: " + patent +

"\r\nПатернов, связанных с геометрическими эффектами: " + countLinkPattern +

"\r\nПатернов, не связанных с геометрическими эффектами: " + (int.Parse(patent)-int.Parse(countLinkPattern)).ToString()+

"\r\nПатернов связанных:\r\nС одним геометрическим эффектом: " + countPatternOneLink +

"\r\nС двумя геометрическим эффектом: " + countPatternTwoLink +

"\r\nС тремя и более геометрическими эффектами: " + (int.Parse(countLinkPattern) - int.Parse(countPatternOneLink) -int.Parse(countPatternTwoLink)).ToString() +

"\r\n\r\nЭффекты:\r\nВсего геометрических эффектов в базе: " + gE + "\r\n"+topLink

,"Статистика наполнения базы");

query = new SqlCommand();

connection.Close();

}

private void button9_Click(object sender, EventArgs e)

{

TestForm test = new TestForm();

test.ShowDialog();

}

private void button10_Click(object sender, EventArgs e)

{

string query = "Select Id, Название from Действия";

SqlConnection connection = openConnection();

SqlDataReader myReader = sendQuery(query, connection);

while (myReader.Read())

{

int c = _actionsDataGridView.RowCount;

_actionsDataGridView.Rows.Add(1);

_actionsDataGridView.Rows[c].Cells[0].Value = myReader["Id"];

_actionsDataGridView.Rows[c].Cells[1].Value = myReader["Название"].ToString();

}

myReader.Close();

}

private void _actionsDataGridView_SelectionChanged(object sender, EventArgs e)

{

}

}

}

Форма обучаемого

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.IO;

namespace WindowsFormsApplication1

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void Form2_Load(object sender, EventArgs e)

{

}

private void Form2_Closing(object sender, EventArgs e)

{

Form1 f1 = new Form1();

f1.Show();

}

private void button1_Click(object sender, EventArgs e)

{

this.Close();

}

public int i = 0;

private void button2_Click(object sender, EventArgs e)

{

//string where = " where Коэффициент >= " + comboBox1.SelectedItem.ToString() + "-1 and Коэффициент<= " + comboBox1.SelectedItem.ToString() + "+1";

string where = "";

GetEffect(where);

}

private List<string> ExecuteQueryGetEffect(string lineWhere , ref List<string> effect, ref List<string> effectId)

{

dataGridView1.Rows.Clear();

string query = "SELECT Id, Название FROM Геометрические_эффекты" + lineWhere;

SqlConnection connection = openConnection();

SqlDataReader myReader = sendQuery(query, connection);

//List<string> effect = new List<string>();

//List<string> effectId = new List<string>();

while (myReader.Read())

{

effectId.Add(myReader["Id"].ToString());

effect.Add(myReader["Название"].ToString());

}

myReader.Close();

return effect;

}

private void GetEffect(string lineWhere)

{

SqlConnection connection = openConnection();

List<string> effect = new List<string>();

List<string> effectId = new List<string>();

effect.AddRange(ExecuteQueryGetEffect(lineWhere,ref effect, ref effectId));

if (effect.Count == 0)

{

effect.AddRange(ExecuteQueryGetEffect("", ref effect, ref effectId));

}

if (effect.Count - 1 <= i)

{

i = 0;

}

label1.Text = effect[i];

//запрос на описание текущего эффекта

string query = "SELECT Описание FROM Геометрические_эффекты WHERE Id = " + effectId[i];

SqlDataReader myReader = sendQuery(query, connection);

myReader.Read();

textBox1.Text = myReader["Описание"].ToString();

myReader.Close();

//выборка патентов к текущему эффекту

query = "SELECT Патенты.Название " +

"FROM Патенты, Патенты_Геометрических_эффектов, Геометрические_эффекты " +

"WHERE Патенты.Id = Патенты_Геометрических_эффектов.Патенты_Id " +

"AND Патенты_Геометрических_эффектов.Геометрические_эффекты_Id = Геометрические_эффекты.Id " +

"AND Геометрические_эффекты.Id = " + effectId[i];

myReader = sendQuery(query, connection);

while (myReader.Read())

{

int c = dataGridView1.RowCount;

dataGridView1.Rows.Add(1);

dataGridView1.Rows[c].Cells[0].Value = myReader["Название"].ToString();

}

myReader.Close();

i++;

}

SqlDataReader sendQuery(string query, SqlConnection connection)

{

SqlDataReader myReader;

SqlCommand myCommand = new SqlCommand(query, connection);

//выполняем запрос

myReader = myCommand.ExecuteReader();

return myReader;

}

SqlConnection openConnection()

{

SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=PECHDB;Integrated Security=True");

connection.Open();

//this.Text = "Я открыт";

return connection;

}

void closeConnection(SqlConnection connection)

{

connection.Close();

//this.Text = "Я закрыт";

}

private void label1_Click(object sender, EventArgs e)

{

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

}

private void button5_Click(object sender, EventArgs e)

{

string where = " where Коэффициент >= " + comboBox2.SelectedItem.ToString() + " and Коэффициент<= " + comboBox3.SelectedItem.ToString();

GetEffect(where);

}

private void button3_Click(object sender, EventArgs e)

{

OpenFileDialog ofd = new OpenFileDialog();

if (ofd.ShowDialog() == DialogResult.OK)

{

_actionInfoTextBox.Text = File.ReadAllText(ofd.FileName,Encoding.Default);

_headActionTextBox.Text = ofd.SafeFileName.Substring(0,ofd.SafeFileName.Length-4);

}

}

private void button4_Click(object sender, EventArgs e)

{

SaveFileDialog sfd = new SaveFileDialog();

sfd.FileName = _headActionTextBox.Text + ".txt";

if (sfd.ShowDialog() == DialogResult.OK)

{

File.WriteAllText(sfd.FileName, _actionInfoTextBox.Text);

}

}

private void GetEffectReport(string whereLine)

{

SqlConnection connection = openConnection();

_effectdDataGridView.Rows.Clear();

string query = "SELECT Id, Название FROM Геометрические_эффекты "+whereLine;

SqlDataReader myReader = sendQuery(query, connection);

//List<string> effect = new List<string>();

//List<string> effectId = new List<string>();

while (myReader.Read())

{

int c = _effectdDataGridView.RowCount;

_effectdDataGridView.Rows.Add(1);

_effectdDataGridView.Rows[c].Cells[0].Value = myReader["Название"].ToString();

}

myReader.Close();

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

GetEffectReport("where коэффициент >= " + comboBox1.SelectedItem

+ " -0.5 and коэффициент <= 0.5+" + comboBox1.SelectedItem);

//SqlConnection connection = openConnection();

//_effectdDataGridView.Rows.Clear();

//string query = "SELECT Id, Название FROM Геометрические_эффекты where коэффициент >= " + comboBox1.SelectedItem

// + " -0.5 and коэффициент <= 0.5+" + comboBox1.SelectedItem;

//SqlDataReader myReader = sendQuery(query, connection);

////List<string> effect = new List<string>();

////List<string> effectId = new List<string>();

//while (myReader.Read())

//{

// int c = _effectdDataGridView.RowCount;

// _effectdDataGridView.Rows.Add(1);

// _effectdDataGridView.Rows[c - 1].Cells[0].Value = myReader["Название"].ToString();

//}

//myReader.Close();

}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

{

GetEffectReport(" where коэффициент <= " + comboBox2.SelectedItem);

}

private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)

{

GetEffectReport(" where коэффициент >= " + comboBox3.SelectedItem);

}

private void testButton_Click(object sender, EventArgs e)

{

TestForm testForm = new TestForm();

testForm.ShowDialog();

}

}

}

Форма теста

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.IO;

namespace WindowsFormsApplication1

{

public partial class TestForm : Form

{

private List<Question> questions;

private List<Ansver> ansvers;

private int counter = 0;

public TestForm()

{

InitializeComponent();

questions = ExecuteQuestins();

ansvers = new List<Ansver>();

UpdateForm();

}

SqlConnection openConnection()

{

SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=PECHDB;Integrated Security=True");

connection.Open();

//this.Text = "Я открыт";

return connection;

}

SqlDataReader sendQuery(string query, SqlConnection connection)

{

SqlDataReader myReader;

SqlCommand myCommand = new SqlCommand(query, connection);

//выполняем запрос

myReader = myCommand.ExecuteReader();

return myReader;

}

void closeConnection(SqlConnection connection)

{

connection.Close();

//this.Text = "Я закрыт";

}

private class Question

{

public int Id { get; set; }

public string Text {get;set;}

}

private class Ansver

{

public int Id { get; set; }

public int Value {get;set;}

}

private List<Question> ExecuteQuestins()

{

string query = "SELECT * FROM Вопросы";

SqlConnection connection = openConnection();

SqlDataReader myReader = sendQuery(query, connection);

List<Question> rezult = new List<Question>();

while (myReader.Read())

{

Question q = new Question();

q.Id = int.Parse(myReader["Id"].ToString());

q.Text = myReader["Текст"].ToString();

rezult.Add(q);

}

myReader.Close();

return rezult;

}

private void UpdateForm()

{

textBox2.Text = questions[counter].Text;

checkBox3.Checked = checkBox1.Checked = checkBox2.Checked = false;

if (ansvers.Count > counter)

{

if (ansvers[counter].Value == 0)

{

checkBox1.Checked = true;

}

else

if (ansvers[counter].Value == 2)

{

checkBox2.Checked = true;

}

else

if (ansvers[counter].Value == 5)

{

checkBox3.Checked = true;

}

}

if (counter == 0)

{

_prevButton.Enabled = false;

}

else

{

_prevButton.Enabled = true; ;

}

if (counter == questions.Count-1)

{

_nextButton.Text = "Завершить";

}

else

{

_nextButton.Text = "Далее";

}

}

private void _prevButton_Click(object sender, EventArgs e)

{

counter--;

UpdateForm();

}

private void _nextButton_Click(object sender, EventArgs e)

{

counter++;

if (counter > questions.Count-1)

{

EndTest();

return;

}

UpdateForm();

}

private void EndTest()

{

int tt = 0;

foreach (Ansver a in ansvers)

{

tt += a.Value;

}

label2.Text = string.Format(@"Тест завершен, средний бал {0}", tt/questions.Count);

panelRezult.Visible = true;

}

private void checkedListBox_SelectedIndexChanged(object sender, EventArgs e)

{

}

private void fixedAnsver(int value)

{

if (ansvers.Count > counter )

{

ansvers[counter].Value = value;

}

else

{

Ansver ansver = new Ansver();

ansver.Id = questions[counter].Id;

ansver.Value = value;

ansvers.Add(ansver);

}

}

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

if (checkBox1.Checked)

{

fixedAnsver(0);

checkBox2.Checked = checkBox3.Checked = false;

}

}

private void checkBox2_CheckedChanged(object sender, EventArgs e)

{

if (checkBox2.Checked)

{

fixedAnsver(2);

checkBox1.Checked = checkBox3.Checked = false;

}

}

private void checkBox3_CheckedChanged(object sender, EventArgs e)

{

if (checkBox3.Checked)

{

fixedAnsver(5);

checkBox1.Checked = checkBox2.Checked = false;

}

}

private void button1_Click(object sender, EventArgs e)

{

DateTime date = DateTime.Now;

foreach(var rr in ansvers)

{

string request = string.Format(@"INSERT INTO [dbo].[РезультатыТеста]

([имя]

,[дата]

,[id_вопроса]

,[ответ])

VALUES

('{0}'

,'{1}.{4}.{5} {6}:{7}:{8}'

,{2}

,{3})",textBox1.Text,date.Year,rr.Id,rr.Value,date.Month,date.Day, date.Hour, date.Minute, date.Second);

SqlConnection connection = openConnection();

sendQuery(request, connection);

connection.Close();

}

Close();

}

private void showRezultButton_Click(object sender, EventArgs e)

{

showRezultsPanel.Visible = true;

string query = @"select [имя], [дата], AVG([ответ]) [ответ]

from [dbo].[РезультатыТеста]

group by [имя], [дата]";

SqlConnection connection = openConnection();

SqlDataReader myReader = sendQuery(query, connection);

while (myReader.Read())

{

int c = dataGridView.RowCount;

dataGridView.Rows.Add(1);

dataGridView.Rows[c].Cells[0].Value = myReader["имя"];

dataGridView.Rows[c].Cells[1].Value = myReader["дата"].ToString();

dataGridView.Rows[c].Cells[2].Value = myReader["ответ"].ToString();

}

myReader.Close();

}

}

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


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

  • Объектно-ориентированные возможности языка C++. Моделирование системы геометрических фигур, методика проектирования программных комплексов. Анализ предметной области, технология создания объектной модели. Упрощение классов при использовании наследования.

    курсовая работа [668,8 K], добавлен 22.09.2011

  • Создание, настройка камер, настройки основанных параметров визуализации и использования различных специальных эффектов в графическом пакете 3ds Max 2008. Особенности интерфейса программы. Типы специальных эффектов и их применение. Добавление заднего фона.

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

  • Создание файла со списком студентов. Реализация программы для работы с "базой данных", которая позволяет добавить, удалить, редактировать, сохранять информацию о студентах. Упорядочивание списка студентов методом прямого слияния и поиск по базе.

    курсовая работа [299,8 K], добавлен 27.06.2014

  • Обзор существующих систем и методов реализации звуковых эффектов. Методы решения поставленной задачи. Эффекты, основанные на задержке сигнала. Простые и сложные звуковые эффекты. Разработка программной модели и текст программ на Maltab и языке Cи.

    курсовая работа [428,6 K], добавлен 12.03.2009

  • Разработка информационной базы данных для поликлиники, которая поможет пользователю найти информацию о любом сотруднике или пациенте. Функциональная структура предметной области. Диаграмма потоков данных (DFD-диаграмма). Поддержка целостности данных.

    курсовая работа [6,7 M], добавлен 17.09.2014

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

    контрольная работа [24,4 K], добавлен 14.10.2010

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

    курсовая работа [516,8 K], добавлен 28.05.2013

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

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

  • Разработка информационной системы для предметной области с использованием заданных структур данных. Создание и проверка базы данных, которая позволяет вводить информацию, хранить её в файле, осуществлять поиск, модификацию, сортировку и удаление данных.

    курсовая работа [240,0 K], добавлен 29.03.2016

  • Способы моделирования типовых геометрических объектов. Методы решения инженерно-геометрических задач в системах автоматизированного проектирования. Правила выполнения чертежей деталей, сборочных единиц, электрических схем по современным стандартам.

    методичка [44,6 K], добавлен 29.11.2010

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