作者gloomywind (看開了,就好過了)
看板C_Sharp
標題[問題] 無法用Entity的SaveChanges寫入資料庫
時間Fri Jul 1 17:33:23 2016
我的程式是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
→ testPtt: 通常就是沒有寫insert into所以重開就不見啦 07/01 18:47
→ gloomywind: insert into不是LinQ的寫法嗎? 07/01 21:34
→ gloomywind: 我發現好像是我一按執行 資料庫就會斷線... 07/01 21:41
→ checkIO: 沒有寫進DB吧 07/01 23:35
→ Litfal: class field的db去掉,你這樣db有點混淆(雖然不是錯這個) 07/01 23:47
→ Litfal: 要用的時候再用using new去建 07/01 23:47
→ Litfal: button1_Click裡面的SaveChanges後面設個中斷點,看一下 07/01 23:49
→ Litfal: IntelliTrace裡面有沒有錯誤或DB事件 07/01 23:50
推 chatnoir: 我覺得是你的dt的內容有錯誤,導致savechanges出錯 07/01 23:54
→ chatnoir: 但你的db.phone.Add的確有把dt加入,所以會感覺正常顯示 07/01 23:55
推 maze0417: 你的Id 是不是DB自動產生的流水號 index ? 07/06 11:09