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

看板C_Sharp作者 (看開了,就好過了)時間8年前 (2016/07/01 17:33), 編輯推噓2(209)
留言11則, 6人參與, 最新討論串1/1
我的程式是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); } } } 小弟這兩個禮拜才開始學寫程式,有些東西寫得怪怪的話請不要砲我,很多東西還在摸索 中 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.100.160 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1467365606.A.999.html

07/01 18:47, , 1F
通常就是沒有寫insert into所以重開就不見啦
07/01 18:47, 1F

07/01 21:34, , 2F
insert into不是LinQ的寫法嗎?
07/01 21:34, 2F

07/01 21:41, , 3F
我發現好像是我一按執行 資料庫就會斷線...
07/01 21:41, 3F

07/01 23:35, , 4F
沒有寫進DB吧
07/01 23:35, 4F

07/01 23:47, , 5F
class field的db去掉,你這樣db有點混淆(雖然不是錯這個)
07/01 23:47, 5F

07/01 23:47, , 6F
要用的時候再用using new去建
07/01 23:47, 6F

07/01 23:49, , 7F
button1_Click裡面的SaveChanges後面設個中斷點,看一下
07/01 23:49, 7F

07/01 23:50, , 8F
IntelliTrace裡面有沒有錯誤或DB事件
07/01 23:50, 8F

07/01 23:54, , 9F
我覺得是你的dt的內容有錯誤,導致savechanges出錯
07/01 23:54, 9F

07/01 23:55, , 10F
但你的db.phone.Add的確有把dt加入,所以會感覺正常顯示
07/01 23:55, 10F

07/06 11:09, , 11F
你的Id 是不是DB自動產生的流水號 index ?
07/06 11:09, 11F
文章代碼(AID): #1NTZZccP (C_Sharp)