C# 图片框中的图像不会更改

C# 图片框中的图像不会更改,c#,winforms,datagridview,picturebox,C#,Winforms,Datagridview,Picturebox,求求你,我需要帮助。我使用gridview中的数据填充文本框和图片框。当我点击一行时,文本框刚好填满。但是图片框只显示一张图片。不负责任的哪一行我选择了相同的图像显示出来。拜托,我是c#的新手,我需要帮助。以下是我迄今为止所做的工作 私有void viewMemberGrid\u CellClick(对象发送者,DataGridViewCellEventArgs e) { DataGridViewRow dr = viewMemberGrid.SelectedRows[0];

求求你,我需要帮助。我使用gridview中的数据填充文本框和图片框。当我点击一行时,文本框刚好填满。但是图片框只显示一张图片。不负责任的哪一行我选择了相同的图像显示出来。拜托,我是c#的新手,我需要帮助。以下是我迄今为止所做的工作 私有void viewMemberGrid\u CellClick(对象发送者,DataGridViewCellEventArgs e) {

        DataGridViewRow dr = viewMemberGrid.SelectedRows[0];
        GmemIDBox.Text = dr.Cells[0].Value.ToString();

        GsurnameBox.Text = dr.Cells[1].Value.ToString();
        GfirstnameBox.Text = dr.Cells[2].Value.ToString();
        GphoneBox.Text = dr.Cells[3].Value.ToString();
        memDeptBox.Text = dr.Cells[7].Value.ToString();
        memPortBox.Text = dr.Cells[8].Value.ToString();
        GaddBox.Text = dr.Cells[5].Value.ToString();
        GdobBox.Text = dr.Cells[6].Value.ToString();

        string select = "Select NEWMEMBER.MemberID, Surname, Firstname, PhoneNumber, MemberPic, HomeAddress,DOB,DeptID,PortfolioDesc from NEWMEMBER inner join Pictures on NEWMEMBER.MemberID = Pictures.MemberID join PortfolioDescription on PortfolioDescription.PortfolioId = NEWMEMBER.PortfolioID";
        SqlConnection c = new SqlConnection("Data Source=.;Initial Catalog=Cmanager;Integrated Security=True");
        SqlCommand cmd = new SqlCommand(select, c);

        try
        {
            c.Open();
            SqlDataReader dro = cmd.ExecuteReader();

            if (dro.Read())
            {
                byte[] picarr = (byte[])dro["MemberPic"];
                MemoryStream ms = new MemoryStream(picarr);
                ms.Seek(0, SeekOrigin.Begin);
                memPicBox.Image = Image.FromStream(ms);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        c.Close();

    } 

对select语句稍作更改

;
我不知道数据库中的MemberID列是数字还是Varchar

如果是一个数字

string select = "Select NEWMEMBER.MemberID, Surname, Firstname, PhoneNumber, MemberPic, HomeAddress,DOB,DeptID,PortfolioDesc from NEWMEMBER inner join Pictures on NEWMEMBER.MemberID = Pictures.MemberID join PortfolioDescription on PortfolioDescription.PortfolioId = NEWMEMBER.PortfolioID Where NEWMEMBER.MemberID = " + dr.Cells[0].Value.ToString();
或者是Varchar

string select = "Select NEWMEMBER.MemberID, Surname, Firstname, PhoneNumber, MemberPic, HomeAddress,DOB,DeptID,PortfolioDesc from NEWMEMBER inner join Pictures on NEWMEMBER.MemberID = Pictures.MemberID join PortfolioDescription on PortfolioDescription.PortfolioId = NEWMEMBER.PortfolioID Where NEWMEMBER.MemberID = '" + dr.Cells[0].Value.ToString() + "'";        

我怀疑你的select语句你需要在select语句中使用where子句。你们两个都有点正确。谢谢你们两个。你还忘了结尾分号。:D,但我认为这不是真的必要。where…?他说他是个初学者,所以我试着做了brief@Sayka我的意思是像
+dr.Cells[0].Value.ToString()+“;”;
string select = "Select NEWMEMBER.MemberID, Surname, Firstname, PhoneNumber, MemberPic, HomeAddress,DOB,DeptID,PortfolioDesc from NEWMEMBER inner join Pictures on NEWMEMBER.MemberID = Pictures.MemberID join PortfolioDescription on PortfolioDescription.PortfolioId = NEWMEMBER.PortfolioID Where NEWMEMBER.MemberID = '" + dr.Cells[0].Value.ToString() + "'";