液体试剂自动配置系统.cs

来源:互联网 发布:刷酷狗星币软件 编辑:程序博客网 时间:2024/06/11 20:54
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 液体配置系统{       public partial class 液体配置系统 : Form    {        //其中myds为浏览列表的数据集,ds为新建方案的数据集,ds1为查看方案的数据集        public 液体配置系统()        {            InitializeComponent();            strconn = "Data Source=NJ6BWDH0T6FG8CY\\LIUZHU;Initial Catalog=reagent;Integrated Security=True";            strsql = "select id as'方案编号',prereagentid as '试剂编号' ,prereagent as '试剂名称',preamount as '试剂用量'  from project where id = (select Max(id)+1 from remarks)";            this.myconn = new SqlConnection(strconn);            this.da = new SqlDataAdapter(strsql, strconn);            this.ds = new DataSet();            isupdated = false;            myconn.Open();            string strsql10 = "select max(id) from remarks ";   //找出最大的方案信息id            SqlCommand cmd10 = new SqlCommand(strsql10, myconn);            SqlDataReader reader10 = cmd10.ExecuteReader();  //读出最大的方案编号的值            while (reader10.Read())            {                i = Convert.ToInt64(reader10[0]);            }            reader10.Close();            myconn.Close();        }        private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)        //查看具体方案信息        {            myconn.Close();            string i = dataGridView1.CurrentRow.Cells[0].Value.ToString();            long a = 0;            a = Convert.ToInt64(i);            if (a == 0)                MessageBox.Show("请选择正确的方案查看");            else            {                long ID = a;                ViewProject(ID);            }        }        private void ViewProject(long id)        {            panel1.Show();            long b = id;            //string strconn = "Data Source=NJ6BWDH0T6FG8CY\\LIUZHU;Initial Catalog=reagent;Integrated Security=True";            try            {                //SqlConnection conn = new SqlConnection(strconn);                                string strsql2 = "select * from remarks   where id= '" + b + "'";                string strsql3 = "select finalamount from project   where id='" + b + "'group by finalamount";                myconn.Open();                string strsql1 = "select pid as '方案id',prereagentid as '试剂编号' ,prereagent as '试剂名称',preamount as '试剂用量',id as'方案编号id' from project where id=" + b;                da1 = new SqlDataAdapter(strsql1, strconn);                ds1 = new DataSet();                da1.Fill(ds1,"data1");               //da1.MissingSchemaAction = MissingSchemaAction.AddWithKey;                                //以下显示方案编号                this.label10.Text = b.ToString();                dataGridView2.DataSource = ds1.Tables["data1"];                dataGridView2.Columns[0].Visible=false;                dataGridView2.Columns[4].Visible = false;                SqlCommand cmd2 = new SqlCommand(strsql2, myconn);                SqlDataReader rd2 = cmd2.ExecuteReader();                while (rd2.Read())                {                    this.label12.Text  = rd2[3].ToString();                    this.textBox7.Text = rd2[1].ToString();                    this.textBox6.Text = rd2[2].ToString();                    this.textBox4.Text = rd2[4].ToString();                }                rd2.Close();                SqlCommand cmd3 = new SqlCommand(strsql3, myconn);                SqlDataReader rd3 = cmd3.ExecuteReader();                while (rd3.Read())                {                    this.textBox5.Text = rd3[0].ToString();                }                rd3.Close();                myconn.Close();                dataGridView2.DataSource = ds1.Tables[0];                          }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void button4_Click(object sender, EventArgs e)//保存方案        {            if(Convert.ToInt64(label10.Text.Trim().ToString())<=i)                //查看方案的保存按钮            {                           try                {                    myconn.Close();                    myconn.Open();                    //da1.MissingSchemaAction=MissingSchemaAction.AddWithKey;                    SqlCommandBuilder bd1 = new SqlCommandBuilder(da1);                    da1.DeleteCommand = bd1.GetDeleteCommand();                    da1.UpdateCommand = bd1.GetUpdateCommand();                    da1.Update(ds1.Tables["data1"]);                    MessageBox.Show("保存成功!");                    dataGridView2.DataSource=ds1.Tables[0].DefaultView;                    myconn.Close();                }                catch (Exception ex)                {                    MessageBox.Show(ex.ToString());                }                     }            else      //新建方案的保存按钮            {                try                {                    myconn.Close();                    myconn.Open();                    SqlCommandBuilder bd = new SqlCommandBuilder(da);                    da.InsertCommand = bd.GetInsertCommand();                    da.Update(ds.Tables["data"]);                    string strsql4 = "update project set finalreagent='" + this.textBox7.Text.Trim().ToString() + "',finalamount='" + this.textBox5.Text.Trim() + "' where id=(select MAX(id) from project)";                    SqlCommand cmd4 = new SqlCommand(strsql4, myconn);                    cmd4.ExecuteNonQuery();                    string strsql3 = "insert into remarks values('" + (i + 1) + "','" + this.textBox7.Text.Trim() + "','" + this.textBox6.Text.Trim() + "','" + DateTime.Now + "','" + this.textBox4.Text.Trim() + "')";                    SqlCommand cmd3 = new SqlCommand(strsql3, myconn);                    cmd3.ExecuteNonQuery();                    MessageBox.Show("方案" + (i + 1).ToString() + "添加成功!");                    myconn.Close();                    ViewProject(i+1);                }                catch (Exception ex)                {                    MessageBox.Show(ex.ToString());                }            }        }        private void button2_Click_1(object sender, EventArgs e)//新建新方案        {            try            {                myconn.Close();                myconn.Open();                     ds.Clear();                textBox7.Text = "";                textBox5.Text = "";                textBox6.Text = "";                textBox4.Text = "";                da.Fill(ds, "data");                                ds.Tables[0].Columns[0].DefaultValue = i + 1;                                label10.Text =( i + 1).ToString();                label12.Text = DateTime.Now.ToString();                dataGridView2.DataSource = ds.Tables[0];                dataGridView2.AutoGenerateColumns = false;                myconn.Close();                panel1.Visible = true;                dataGridView2.Columns[0].Visible = false;            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void button1_Click(object sender, EventArgs e)//查找方案        {            try            {                string str = textBox1.Text.Trim();                string   sql1;                string   sql2;                if (str != "")                {                    int m = Convert.ToInt32(str);                    //MessageBox.Show(""+m);//m的值                    sql1 = "select count(*) from remarks  where  finalreagent like'%" + textBox2.Text.Trim().ToString() + "%' and designer like'%" + textBox3.Text.Trim().ToString() + "%' and id =" + m + "";// 查询结果的条数                    sql2 = "select * from remarks   where  finalreagent like'%" + textBox2.Text.Trim().ToString() + "%' and designer like'%" + textBox3.Text.Trim().ToString() + "%' and id=" + m + "";// 查询的结果列表                }                else                {                    sql1 = "select count(*) from remarks  where  finalreagent like'%" + textBox2.Text.Trim().ToString() + "%' and designer like'%" + textBox3.Text.Trim().ToString() + "%'";// 查询结果的条数                    sql2 = "select * from remarks   where  finalreagent like'%" + textBox2.Text.Trim().ToString() + "%' and designer like'%" + textBox3.Text.Trim().ToString() + "%' " ;// 查询的结果列表                }                SqlConnection myconn = new SqlConnection(strconn);                myconn.Close();                myconn.Open();                SqlCommand cmd = new SqlCommand(sql1, myconn);                int p = 0;                p= (int)cmd.ExecuteScalar();                if (p>= 0)                {                    SqlDataAdapter myda = new SqlDataAdapter(sql2, myconn);                    DataSet myds = new DataSet();                    myda.Fill(myds, "remarks");      //此处remarks为myds数据集的名称                    dataGridView1.Show(); dataGridView1.DataSource = myds.Tables[0];                    myds.Tables[0].Columns[0].ColumnName = "方案编号";                    myds.Tables[0].Columns[1].ColumnName = "配置试剂";                    myds.Tables[0].Columns[2].ColumnName = "配置者";                    myds.Tables[0].Columns[3].ColumnName = "配置时间";                    myds.Tables[0].Columns[4].ColumnName = "备注";                }                else                    MessageBox.Show("没有查找到相关数据!");                myconn.Close();            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }                private void button3_Click(object sender, EventArgs e)//取消新建方案        {            panel1.Visible = false;        }        private void 液体配置系统_Load(object sender, EventArgs e)//显示方案列表        {            myconn.Close();            myconn.Open();            string sql = "select * from remarks";            SqlDataAdapter myda = new SqlDataAdapter(sql, myconn);            DataSet myds = new DataSet();            myda.Fill(myds);      //此处remarks为myds数据集的名称            dataGridView1.Show(); dataGridView1.DataSource = myds.Tables[0];            myds.Tables[0].Columns[0].ColumnName = "方案编号";            myds.Tables[0].Columns[1].ColumnName = "配置试剂";            myds.Tables[0].Columns[2].ColumnName = "配置者";            myds.Tables[0].Columns[3].ColumnName = "配置时间";            myds.Tables[0].Columns[4].ColumnName = "备注";            myconn.Close();        }        private void button5_Click(object sender, EventArgs e)//浏览方案        {            myconn.Close();            myconn.Open();            string sql = "select * from remarks";            SqlDataAdapter myda = new SqlDataAdapter(sql, myconn);            DataSet myds = new DataSet();            myda.Fill(myds);      //此处remarks为myds数据集的名称            dataGridView1.Show();             dataGridView1.DataSource = myds.Tables[0];            myds.Tables[0].Columns[0].ColumnName = "方案编号";            myds.Tables[0].Columns[1].ColumnName = "配置试剂";            myds.Tables[0].Columns[2].ColumnName = "配置人";            myds.Tables[0].Columns[3].ColumnName = "配置时间";            myds.Tables[0].Columns[4].ColumnName = "备注";            myconn.Close();        }        private void dataGridView2_CellValueChanged(object sender, DataGridViewCellEventArgs e)        //显示具体方案时,有改动的地方        {            isupdated = true;                    }        //以下为对某一具体方案时,对数据的增删改操作。        private void button6_Click(object sender, EventArgs e)            //修改按钮        {            dataGridView2.ReadOnly = false;            MessageBox.Show("您可以在左边的表中直接修改数据");        }        private void button7_Click(object sender, EventArgs e)            //添加行        {            this.button4.Visible = false;            myconn.Close();            myconn.Open();            long p=0;            string strsql11 = "select max(pid) from project";            SqlCommand sql11 = new SqlCommand(strsql11,myconn);            SqlDataReader reader11 = sql11.ExecuteReader();            while (reader11.Read())            {                p =Convert.ToInt64(reader11[0]);            }                         dataGridView2.ReadOnly = false;            ds1.Clear();            da1.Fill(ds1,"data1");            DataRow newrow = ds1.Tables[0].NewRow();            Int32 k = ds1.Tables[0].Rows.Count;            MessageBox.Show(k.ToString());                        newrow["方案id"] = (p + 1);            newrow["试剂编号"] =1;            newrow["试剂名称"] ="名称";            newrow["试剂用量"] =100;            newrow["方案编号id"] = Convert.ToInt64(label10.Text.Trim().ToString());            ds1.Tables[0].Rows.InsertAt(newrow,k);            SqlCommandBuilder bd1 = new SqlCommandBuilder(da1);            da1.InsertCommand = bd1.GetInsertCommand();            da1.Update(ds1.Tables["data1"]);            myconn.Close();            this.button4.Visible = false;        }        private void button9_Click(object sender, EventArgs e)            //删除行        {            try            {                int delrowindex = dataGridView2.CurrentRow.Index;                MessageBox.Show(delrowindex.ToString());                this.dataGridView2.Rows.RemoveAt(delrowindex);            }            catch (Exception ex)            {                MessageBox.Show("请选对正确的行!");            }                    }        private void button8_Click(object sender, EventArgs e)            //配置液体        {            long[] sid=new long[dataGridView2.Rows.Count];            double[] sweight=new double[dataGridView2.Rows.Count];            for (int i = 0; i < dataGridView2.Rows.Count; i++){    sid[i]=Convert.ToInt64(dataGridView2.Rows[i].Cells[1].Value.ToString());                sweight[i]=Convert.ToDouble(dataGridView2.Rows[i].Cells[3].Value.ToString());                //MessageBox.Show(sid[i].ToString()+"  "+sweight[i].ToString());}            does.does start = new does.does(sid,sweight);            start.Show();                        }                     }}


原创粉丝点击