3層アーキテクチャのC#で電話帳を書いてみたいが、このアーキテクチャは十分ではない。 私たちはそれぞれの行をクリックすると、ピクチャボックス内の各人物のイメージを表示するdatagridviewを持っています。 しかし、それは動作しません。私はどこに問題があるのか分からない。私を案内してください。私は最近、このアーキテクチャについて知りました。ピクチャボックス内の3層アーキテクチャの連絡先写真を表示するC#
DALコード:
public void GetBinaryImage(int Id)
{
context.People.Select(a => new { a.Id, a.PersonImage }).Where(a => a.Id == Id) ;
}
BLLコード
public void GrtBinaryImage(int person_Id)
{
Myperson.GetBinaryImage(person_Id);
}
PLコード
private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView.SelectedRows.Count > 0)
{
int Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
showpictureBox.Image = bytearytoimage(person.GrtBinaryImage(Id));
}
}
private Image bytearytoimage(object v)
{
MemoryStream stream = new MemoryStream(v);
return Image.FromStream(stream);
}
私はエラーを取得する:
"Argument 1: cannot convert from 'void' to object".
私はミスを書いたことを知っています。私を案内してください。
どうしたらうまくいかないのですか? – musefan
エラー "引数1: 'void'から 'object'に変換できません。 –
あなたのGrtBinaryImageメソッドがBLLから返ってきていません。私はそれがbytearytoimageに必要なオブジェクトを返すはずです。 あなたのBLLメソッドを更新してください。 –