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

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();
                
        }

       

       
   
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值