在c#中从2md datagridview获取值的问题

时间:2016-03-19 07:05:48

标签: c#

我在从数据gridview获取值时遇到问题。在同一事件中,我能够从datagrid view1获取值,但在同一事件中,我无法从datagridview2获取值。请帮我修改以下代码。

private void button2_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(path);
    SqlConnection con1 = new SqlConnection(path);
    con.Open();
    string selectSql = "select * from textbooks where class='" + txt_class.Text.ToString() + "'";
    SqlCommand cmd = new SqlCommand(selectSql, con);
    string textname = "";
    tempcnt.Text = "test";
    string bookname = "";
    double bookquantity = 0;
    string textname1 = "";
    string bookname1 = "";
    double stockquantity1 = 0;
    double bookquantity1 = 0;
    using (SqlDataReader reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {    
            bookname = (reader["name"].ToString());
            bookquantity = Convert.ToInt32(reader["quantity"]);
            for (int i = 0; i < dataGridView1.Rows.Count; ++i)
            {
                textname = Convert.ToString(dataGridView1.Rows[i].Cells[0].Value);
                if (textname == bookname)
                {
                    bookquantity = bookquantity - 1;
                    temp_count.Text = bookquantity.ToString();
                    con1.Open();
                    string uquery = "update textbooks set quantity=" + bookquantity + " where name='" + bookname + "'";
                    SqlCommand cmd1 = new SqlCommand(uquery, con1);
                    cmd1.ExecuteNonQuery();
                    con1.Close();
                }
            }
        }
    }

    con.Close();
    con.Open();
    string selectSql2 = "select * from notebooks";
    SqlCommand cmd2 = new SqlCommand(selectSql2, con);

    tempcnt.Text = "test";
    using (SqlDataReader reader1 = cmd2.ExecuteReader())
    {
        while (reader1.Read())
        {
            bookname1 = (reader1["name"].ToString());
            stockquantity1 = Convert.ToInt32(reader1["quantity"]);
            tempcnt.Text = bookname1;
            for (int i = 0; i < dataGridView2.Rows.Count; i++)
            {
                textname1 = dataGridView2.Rows[i].Cells[0].Value as string;
                string temp = Convert.ToString(dataGridView2.Rows[i].Cells[0].Value);
                tempcnt.Text = temp;
                if (temp == bookname1)
                {
                    tempcnt.Text = "success";
                }
            }
        }
    }
    con.Close();
}

0 个答案:

没有答案