📄 miningmodel.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.AnalysisServices;
using System.Data.OleDb;
using System.Data.SqlClient;
namespace ADO
{
public partial class Miningmodel : Form
{
public MiningStructure ms;
public Database m_db;
private string st;
private string connectst;
public Miningmodel()
{
InitializeComponent();
st = "";
connectst = "Data Source=localhost;" + "Integrated Security=true;Initial Catalog=ZJXT;User ID=sa;Password=123;persist security info=False";//数据库连接字符串
ms = null;
m_db = null;
}
private void dismodel()
{
if (ms != null)
{
textBox1.Clear();
int n = m_db.MiningStructures.Count;
for (int i = 0; i < n; i++)
{
textBox1.AppendText(m_db.MiningStructures[i].ToString());
textBox1.AppendText("\t");
}
}
else
MessageBox.Show("请回到前一个窗口创建挖掘结构!");
}
private bool Valida() //检查医生lable1不为空
{
if (textname.Text != "")
{
st=textname.Text;
return true;
}
else return false;
}
private void Redydata() //清空T_WZWZ T_JCJC T_ZDZD;
{
SqlConnection thisconnection = new SqlConnection(connectst);
thisconnection.Open();
SqlCommand thiscommand = thisconnection.CreateCommand();
thiscommand.CommandText = "DELETE FROM T_WZWZ";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "DELETE FROM T_ZDZD";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "DELETE FROM T_JCJC";
thiscommand.ExecuteNonQuery();
thisconnection.Close();
}
private void Datamunipulate(string name) //数据进行转换
{
SqlConnection thisconnection = new SqlConnection(connectst);
thisconnection.Open();
SqlCommand thiscommand = thisconnection.CreateCommand();
thiscommand.CommandText = "INSERT INTO T_WZWZ(BRBH, WZBH, WZYS, YSZD)" +
"SELECT T_WZBH.BRBH, T_WZBH.WZBH, T_WZJG.WZYS, T_WZJG.YSZD " +
"FROM T_WZJG INNER JOIN T_WZBH ON T_WZBH.BRBH = T_WZJG.BRBH AND T_WZBH.WZBH = T_WZJG.WZBH AND T_WZJG.WZYS="+"'"+name+"'";
thiscommand.ExecuteNonQuery();//在T_WZWZ中放入诊断医生代码为name的BRBH, WZBH, WZYS, YSZD
thiscommand.CommandText = "INSERT INTO T_ZDZD(BRBH, WZBH, ZZBM, YZCD, FSPL,FSBW)" +
"SELECT T_ZDJL.BRBH, T_ZDJL.WZBH, T_ZDJL.ZZBM, T_ZDJL.YZCD, T_ZDJL.FSPL,T_ZDBW.FSBW "+
"FROM T_ZDBW INNER JOIN T_ZDJL ON T_ZDJL.BRBH = T_ZDBW.BRBH AND T_ZDBW.WZBH = T_ZDJL.WZBH AND T_ZDBW.ZZBM=T_ZDJL.ZZBM ";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "DELETE FROM T_ZDZD1";
thiscommand.ExecuteNonQuery();//清空T_ZDZD
thiscommand.CommandText = "INSERT INTO T_ZDZD1(BRBH, WZBH, ZZBM, YZCD, FSPL,FSBW) " +
"SELECT T_WZWZ.BRBH, T_WZWZ.WZBH, T_ZDZD.ZZBM, T_ZDZD.YZCD, T_ZDZD.FSPL, T_ZDZD.FSBW "+
"FROM T_ZDZD INNER JOIN T_WZWZ ON T_ZDZD.BRBH = T_WZWZ.BRBH AND T_ZDZD.WZBH = T_WZWZ.WZBH";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "DELETE FROM T_ZDZD";
thiscommand.ExecuteNonQuery();//清空T_ZDZD
thiscommand.CommandText = "INSERT INTO T_ZDZD(BRBH, WZBH, ZZBM, YZCD, FSPL, FSBW) "+
"SELECT BRBH, WZBH, ZZBM, YZCD, FSPL, FSBW FROM T_ZDZD1";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "INSERT INTO T_JCJC (JCBM, BRBH, WZBH, JCLB, JCJG, ZBBM, HYJG) " +
"SELECT T_JCJL.JCBM, T_JCJL.BRBH, T_JCJL.WZBH, T_JCJL.JCLB, T_JCJL.JCJG, T_HYMX.ZBBM, T_HYMX.HYJG " +
"FROM T_HYMX INNER JOIN T_JCJL ON T_HYMX.BRBH = T_JCJL.BRBH AND T_HYMX.WZBH = T_JCJL.WZBH AND T_HYMX.JCBM = T_JCJL.JCBM";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "INSERT INTO T_JCJC(JCBM, BRBH, WZBH, JCLB, JCJG, ZBBM, HYJG)"+
"SELECT JCBM, BRBH, WZBH, JCLB, JCJG, 0 AS ZBBM, 0 AS HYJG "+
"FROM T_JCJL WHERE (JCLB = 1)";
thiscommand.ExecuteNonQuery();////在T_JCJC中放入诊断医生代码为name的检查信息
thiscommand.CommandText = "DELETE FROM T_JCJC1";
thiscommand.ExecuteNonQuery();//清空T_JCJC
thiscommand.CommandText = "INSERT INTO T_JCJC1(JCBM, BRBH, WZBH, JCLB, JCJG, ZBBM, HYJG) "+
"SELECT T_JCJC.JCBM, T_WZWZ.BRBH, T_WZWZ.WZBH, T_JCJC.JCLB, T_JCJC.JCJG, T_JCJC.ZBBM, T_JCJC.HYJG " +
"FROM T_JCJC INNER JOIN T_WZWZ ON T_JCJC.BRBH = T_WZWZ.BRBH AND T_JCJC.WZBH = T_WZWZ.WZBH";
thiscommand.ExecuteNonQuery();
thiscommand.CommandText = "DELETE FROM T_JCJC";
thiscommand.ExecuteNonQuery();//清空T_JCJC
thiscommand.CommandText = "INSERT INTO T_JCJC(BRBH, WZBH, ZBBM, JCLB, JCJG, HYJG, JCBM) " +
"SELECT BRBH, WZBH, ZBBM, JCLB, JCJG, HYJG, JCBM FROM T_JCJC1";
thiscommand.ExecuteNonQuery();
thisconnection.Close();
}
private void study_Click(object sender, EventArgs e)//彻底训练
{
if (Valida())
{
if (ms != null)
{
if (ms.MiningModels.Count == 0)
{
Creatmodel(st);
Redydata();
Datamunipulate(st);
ms.MiningModels[st].Process(ProcessType.ProcessFull);
dismodel();
}
else
{
Toaddmodel(st);
Redydata();
Datamunipulate(st);
m_db.MiningStructures["专家"+st].Process(ProcessType.ProcessFull);
dismodel();
}
}
else
{
MessageBox.Show("请回到前一个窗口创建挖掘结构!");
return;
}
}
else
{
MessageBox.Show("请输入医生姓名!");
return;
}
}
// private bool inms(string string1)
//{
// foreach(MiningModel MM in ms.MiningModels)
// {
// if(ms.MiningModels[].ToString)
// }
//}
private void Creatmodel(string st) //创建挖掘模型
{
MiningModel NNModel;
MiningModelColumn mmc;
NNModel = ms.CreateMiningModel(true, st);
NNModel.Columns.Clear();
NNModel.Algorithm = "Microsoft_Neural_Network";
mmc = NNModel.Columns.Add("BH");
mmc.SourceColumnID = "BH";
mmc.Usage = "Key";
mmc = NNModel.Columns.Add("YSZD");
mmc.SourceColumnID = "YSZD";
mmc.Usage = "Predict";
mmc = NNModel.Columns.Add("T_ZDZD");
mmc.SourceColumnID = "T_ZDZD";
MiningModelColumn mmc1;
mmc1 = mmc.Columns.Add("XXBH");
mmc1.SourceColumnID = "XXBH";
mmc1.Usage = "Key";
//mmc1.Usage
mmc1 = mmc.Columns.Add("ZZBM");
mmc1.SourceColumnID = "ZZBM";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("FSBW");
mmc1.SourceColumnID = "FSBW";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("FSPL");
mmc1.SourceColumnID = "FSPL";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("YZCD");
mmc1.SourceColumnID = "YZCD";
mmc1.Usage = "Input";
mmc = NNModel.Columns.Add("T_JCJC");
mmc.SourceColumnID = "T_JCJC";
mmc1 = mmc.Columns.Add("XXBH");
mmc1.SourceColumnID = "XXBH";
mmc1.Usage = "Key";
mmc1 = mmc.Columns.Add("HYJG");
mmc1.SourceColumnID = "HYJG";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("ZBBM");
mmc1.SourceColumnID = "ZBBM";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("JCBM");
mmc1.SourceColumnID = "JCBM";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("JCJG");
mmc1.SourceColumnID = "JCJG";
mmc1.Usage = "Input";
mmc1 = mmc.Columns.Add("JCLB");
mmc1.SourceColumnID = "JCLB";
mmc1.Usage = "Input";
NNModel.Update();
}
private void Toaddmodel(string st) //添加挖掘模型
{
MiningStructure ms1 = ms.Clone();
ms1.Name = "专家" + st;
ms1.ID = "专家" + st;
ms1.MiningModels.Clear();
ms1.Source = new DataSourceViewBinding("ZJXT");
m_db.MiningStructures.Add(ms1);
ms1.Update();
MiningModel AddModel = ms.MiningModels[0].Clone();
AddModel.Name = st;
AddModel.ID = st;
m_db.MiningStructures["专家" + st].MiningModels.Add(AddModel);
AddModel.Update();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -