私はlinqを学び、linqとado.netデータエンティティモデルで挿入更新削除を試みています。今、私はいくつかの問題を抱えています。データを挿入すると、データグリッドビューに表示されません。プログラムを閉じて再度実行し、入力している最新のデータを表示する必要があります。ここにコード:
namespace TesDB
{
public partial class Form1 : Form
{
private Database1Entities de = new Database1Entities();
int index;
public Form1()
{
InitializeComponent();
var query = from x in de.MsEmployees
select x;
dataGridView1.DataSource = query;
dataGridView1.Refresh();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void loadtext()
{
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
textBox2.Text = dataGridView1.Rows[index].Cells[1].Value.ToString();
textBox3.Text = dataGridView1.Rows[index].Cells[2].Value.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
string EmployeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();
var employee = (from x in de.MsEmployees
where x.EmployeeID == EmployeeID
select x).First();
employee.EmployeeID = textBox1.Text;
employee.EmployeeName = textBox2.Text;
employee.Salary = int.Parse(textBox3.Text);
de.SaveChanges();
Refresh();
}
private void button3_Click(object sender, EventArgs e)
{
string EmployeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();
// int id1 = int.Parse(EmployeeID);
var Employee = (from x in de.MsEmployees
where x.EmployeeID == EmployeeID
select x).First();
de.MsEmployees.DeleteObject(Employee);
de.SaveChanges();
Refresh();
}
private void button1_Click(object sender, EventArgs e)
{
string employeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();
var employee = (from x in de.MsEmployees
where x.EmployeeID == employeeID
select x.EmployeeID).First();
MsEmployee me = new MsEmployee();
me.EmployeeID = textBox1.Text;
me.EmployeeName = textBox2.Text;
me.Salary = int.Parse(textBox3.Text);
de.AddToMsEmployees(me);
de.SaveChanges();
this.Refresh();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
index = e.RowIndex;
loadtext();
}
}
}
`
私はrefresh()
その作業を更新と削除に使用していますが、挿入には機能しません。挿入が完了したときにそのテーブルを更新する方法を知っている人はいますか?