有两个数据表,分别为table3和T_zplltable3表结构
a b
20 XH-04
30 TY35T_zpll表结构为code name guige number leaving_number1 XH-04 7500 2
2 TY35 7500 2
3 TY01 5000 2输入框为T_zpll.number数量比如table3.b=T_zpll.name字段相等则XH-04的leaving_number字段为20-2*数量 SqlConnection sqlconn = GetsqlConn();
sqlconn.Open();
string str = "select *,number*" + textBox1.Text.Trim() + " as 所需数量 from T_zpll ";
SqlCommand cmd = new SqlCommand(str, sqlconn);
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(str, sqlconn);
DataSet ds = new DataSet();
da.Fill(ds, "T_zpll"); string str1 = "select b,a,number*3 as c from table3,T_zpll where table3.b=T_zpll.name";
SqlCommand cmd1 = new SqlCommand(str1, sqlconn);
cmd1.ExecuteNonQuery();
SqlDataAdapter da1 = new SqlDataAdapter(str1, sqlconn);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "aa");
ArrayList result = new ArrayList();
for (int i = 0; i < ds1.Tables["aa"].Rows.Count; i++)
{
result.Add(44);
result[i] = Convert.ToInt32(ds1.Tables["aa"].Rows[i]["a"]) - Convert.ToInt32(ds1.Tables["aa"].Rows[i]["c"]);
string str2 = "update T_zpll set leaving_number='" + result[i] + "' where T_zpll.name='"+ds1.Tables["aa"].Rows[i]["b"]+"'";
SqlCommand cmd2 = new SqlCommand(str2, sqlconn);
cmd2.ExecuteNonQuery();
}
string str3 = "select *,number*" + textBox1.Text.Trim() + " as 所需数量 from T_zpll ";
SqlCommand cmd3 = new SqlCommand(str, sqlconn);
cmd3.ExecuteNonQuery();
SqlDataAdapter da3 = new SqlDataAdapter(str, sqlconn);
DataSet ds3 = new DataSet();
da3.Fill(ds3, "nT_zpll"); dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = ds3;
dataGridView1.DataMember = "nT_zpll";想问问大家我写的程序可以优化么?觉得我写的程序用了三次sqlcommand对象,觉得写的有点繁琐!
a b
20 XH-04
30 TY35T_zpll表结构为code name guige number leaving_number1 XH-04 7500 2
2 TY35 7500 2
3 TY01 5000 2输入框为T_zpll.number数量比如table3.b=T_zpll.name字段相等则XH-04的leaving_number字段为20-2*数量 SqlConnection sqlconn = GetsqlConn();
sqlconn.Open();
string str = "select *,number*" + textBox1.Text.Trim() + " as 所需数量 from T_zpll ";
SqlCommand cmd = new SqlCommand(str, sqlconn);
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(str, sqlconn);
DataSet ds = new DataSet();
da.Fill(ds, "T_zpll"); string str1 = "select b,a,number*3 as c from table3,T_zpll where table3.b=T_zpll.name";
SqlCommand cmd1 = new SqlCommand(str1, sqlconn);
cmd1.ExecuteNonQuery();
SqlDataAdapter da1 = new SqlDataAdapter(str1, sqlconn);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "aa");
ArrayList result = new ArrayList();
for (int i = 0; i < ds1.Tables["aa"].Rows.Count; i++)
{
result.Add(44);
result[i] = Convert.ToInt32(ds1.Tables["aa"].Rows[i]["a"]) - Convert.ToInt32(ds1.Tables["aa"].Rows[i]["c"]);
string str2 = "update T_zpll set leaving_number='" + result[i] + "' where T_zpll.name='"+ds1.Tables["aa"].Rows[i]["b"]+"'";
SqlCommand cmd2 = new SqlCommand(str2, sqlconn);
cmd2.ExecuteNonQuery();
}
string str3 = "select *,number*" + textBox1.Text.Trim() + " as 所需数量 from T_zpll ";
SqlCommand cmd3 = new SqlCommand(str, sqlconn);
cmd3.ExecuteNonQuery();
SqlDataAdapter da3 = new SqlDataAdapter(str, sqlconn);
DataSet ds3 = new DataSet();
da3.Fill(ds3, "nT_zpll"); dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = ds3;
dataGridView1.DataMember = "nT_zpll";想问问大家我写的程序可以优化么?觉得我写的程序用了三次sqlcommand对象,觉得写的有点繁琐!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货