Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我想从datagrideview中的invo获取价格,其中rows=column(main)_C# - Fatal编程技术网

C# 我想从datagrideview中的invo获取价格,其中rows=column(main)

C# 我想从datagrideview中的invo获取价格,其中rows=column(main),c#,C#,我想从发票那里得到价格 rows = column(main) 我使用这些代码将价格填入dgRow.Cells[5]。Value 当我点击按钮时,我有一条记录 private void button11_Click(object sender, EventArgs e) { foreach (DataGridViewRow dgRow in dgw.Rows) { string name = dgR

我想从发票那里得到价格

rows = column(main)
我使用这些代码将价格填入
dgRow.Cells[5]。Value

当我点击按钮时,我有一条记录

private void button11_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow dgRow in dgw.Rows)
            {
                string name = dgRow.Cells[1].Value.ToString();
                con.Close();
                con.Open();
                cmd = con.CreateCommand();

                cmd.CommandText = "select price from  invo where main='"+name+"' '";
                rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    if (rdr.IsDBNull(0))
                    {

                    }
                    else
                    {
                        dgRow.Cells[5].Value = (rdr.GetDecimal(0).ToString());
                        return;
                    }
                }
            }

我相信您的代码应该是这样的:

foreach (DataGridViewRow dgRow in dgw.Rows)
        {
            string name = dgRow.Cells[1].Value.ToString();
            con.Close();
            con.Open();
            cmd = con.CreateCommand();

            cmd.CommandText = "select price from  invo where main='"+name+"' '";
            rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                if (rdr.IsDBNull(0))
                {


                }
                else
                {

                    dgRow.Cells[5].Value = (rdr.GetDecimal(0).ToString());
                    break; //return; Get you out of the function, additional 
                           //rows are not evaluated


                }
            }
        }

在while循环中使用“return”会使您退出函数,因此不会处理下一行。

您只有一条记录,因为您在第一条记录之后执行了
return