0

这是添加新项目的代码...

    private KrystalCafeDatabaseEntities kce = new KrystalCafeDatabaseEntities();

    private Byte[] byteBLOBData;

    public AddItem()
    {
        InitializeComponent();

        cmbCategory.DataSource = kce.tblItemTypes;
        cmbCategory.DisplayMember = "Name";
        cmbCategory.ValueMember = "ItemType";

    }

    private void btnUpload_Click(object sender, EventArgs e)
    {
        DialogResult result = openFileDialog1.ShowDialog();

        if (result == DialogResult.OK)
        {
            FileStream fsBLOBFile = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);

            byteBLOBData = new Byte[fsBLOBFile.Length];

            fsBLOBFile.Read(byteBLOBData, 0, byteBLOBData.Length);

            fsBLOBFile.Close();

            MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);

            pbImage.Image = Image.FromStream(stmBLOBData);
        }
    }

    private void btnSave_Click(object sender, EventArgs e)
    {
        tblItem Item = new tblItem();

        Item.Name = txtName.Text;

        Item.Price = decimal.Parse(txtPrice.Text);

        Item.Image = byteBLOBData;

        Item.ItemType = (int)cmbCategory.SelectedValue;

        kce.AddTotblItems(Item);

        kce.SaveChanges();

        MessageBox.Show("Record Saved! :D");

    }
}

}

程序运行正常,但数据只会存储一段时间,然后如果我关闭程序或编辑我的代码,我刚刚添加的数据将丢失。

4

1 回答 1

0

一个可能的错误是KrystalCafeDatabaseEntities打开一个事务并且您需要在调用SaveChanges.

于 2014-07-28T07:28:37.347 回答