[問題] 無法用Entity的SaveChanges寫入資料庫

作者: gloomywind (看開了,就好過了)   2016-07-01 17:33:23
我的程式是visual studio2015,我先從新增項目中用服務架構資料庫建了一個資料庫,
然後新增一個ADO.NET實體資料模型,之後在winform中建立一個DataGirdView來呈現資料
,並且使用TEXTBOX跟BUTTON來建立新資料,當我按下建立資料的按鈕以後,DataGirdView
中的資料有新增,但是關掉winform後再打開,原本新增的資料就不見了,可以幫我看一下
我是不是缺少了什麼嗎?
namespace TEST
{
public partial class Form1 : Form
{
phoneEntities1 db = new phoneEntities1();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var data = db.phone.Select(i=>i);
dataGridView1.DataSource = data.ToList();
db.SaveChanges();
}
private void button1_Click(object sender, EventArgs e)
{
var dt = new phone();
using (var db = new phoneEntities1())
{
dt.Id = int.Parse(textBox1.Text);
dt.Name = textBox2.Text;
dt.Phone1 = textBox3.Text;
db.phone.Add(dt);
db.SaveChanges();
}
Form1_Load(sender, e);
}
}
}
小弟這兩個禮拜才開始學寫程式,有些東西寫得怪怪的話請不要砲我,很多東西還在摸索
作者: testPtt (測試)   2016-07-01 18:47:00
通常就是沒有寫insert into所以重開就不見啦
作者: gloomywind (看開了,就好過了)   2016-07-01 21:34:00
insert into不是LinQ的寫法嗎?我發現好像是我一按執行 資料庫就會斷線...
作者: checkIO (chec)   2016-07-01 23:35:00
沒有寫進DB吧
作者: Litfal (Litfal)   2016-07-01 23:47:00
class field的db去掉,你這樣db有點混淆(雖然不是錯這個)要用的時候再用using new去建button1_Click裡面的SaveChanges後面設個中斷點,看一下IntelliTrace裡面有沒有錯誤或DB事件
作者: chatnoir (對不起)   2016-07-01 23:54:00
我覺得是你的dt的內容有錯誤,導致savechanges出錯但你的db.phone.Add的確有把dt加入,所以會感覺正常顯示
作者: maze0417 (率性之謂道)   2016-07-06 11:09:00
你的Id 是不是DB自動產生的流水號 index ?

Links booklink

Contact Us: admin [ a t ] ucptt.com