当我尝试在数据库中保存对象时出现错误,但只有当我在图片框中加载图像时才会出现错误,如果我没有加载任何图像,它可以完美地运行并保存数据库中的对象。这是保存的代码:
public partial class Form1 : Form
{
private void guardarBtn_Click(object sender, EventArgs e)
{
Repository repository = Repository.Instance;
Product pro = new Product();
pro.Name = NameTxt.Text;
pro.Quantity = QuantityNum.Value;
pro.CostPrice = decimal.Parse(CostPriceTxt.Text);
pro.ListPrice = decimal.Parse(ListPriceTxt.Text);
repository.Save<Product>(pro);
Source.Add(pro);
}
}
class Repository
{
public void Save<T>(T objeto)
{
Session.Save(objeto);
Session.Flush();
}
}
加载图片的代码:
private void ImageBtn_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "JPG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|JPEG Files (*.jpeg)|*.jpeg|GIF Files (*.gif)|*.gif";
if (dlg.ShowDialog() == DialogResult.OK)
{
this.ImageBox.Image = new Bitmap(dlg.OpenFile());
}
dlg.Dispose();
}
错误消息是:
无法插入: [Stock.Models.Classes.Product#13715d8d-3774-4b14-8c9c-dbdd6d5aff5e]
[SQL: INSERT INTO产品(名称,CostPrice,Quantity,ListPrice,Id)VALUES (?,?,?,?,?)]
只有在图片框中加载了图片时,它才会显示在Session.Flush()
行中。
我想知道我做错了什么。