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();
}
}
}
液体试剂自动配置系统.cs
最新推荐文章于 2023-03-12 21:03:21 发布