例子为一个只要3个属性的学生信息表
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace linq1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string sqlcon = "Data Source=LAPTOP-EFMKQ5FV;Database=c#用户;Uid=sa;Pwd=123;";
DataClasses1DataContext linq;
private void 添加ToolStripMenuItem_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(sqlcon);
student student1 = new student();
student1.xh = textBox1.Text;
student1.nanme = textBox2.Text;
student1.banji = textBox3.Text;
linq.student.InsertOnSubmit(student1);
linq.SubmitChanges();
Info();
}
private void Info()
{
linq = new DataClasses1DataContext(sqlcon);
var result = from tabel in linq.student
select new
{
学号 = tabel.xh,
名字 = tabel.nanme,
班级 = tabel.banji
};
dataGridView1.DataSource = result;
}
private void 查询ToolStripMenuItem_Click(object sender, EventArgs e)
{
string item = string.Empty;
new DataClasses1DataContext(sqlcon);
if (toolStripComboBox1.SelectedIndex == -1)
{
Info();
}
else
{
item = toolStripComboBox1.SelectedItem.ToString();
if (item== "学号") {
var result =
from tabel in linq.student
where tabel.xh == textBox1.Text
select new
{
学号 = tabel.xh,
班级 = tabel.banji,
姓名 = tabel.nanme
};
dataGridView1.DataSource = result;
}
else
{
var result =
from tabel in linq.student
where tabel.nanme == textBox2.Text
select new
{
学号 = tabel.xh,
班级 = tabel.banji,
姓名 = tabel.nanme
};
dataGridView1.DataSource = result;
}
}
}
private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(sqlcon);
var result =
from table in linq.student
where table.xh == textBox1.Text
select table;
foreach( student item in result)
{
item.xh = textBox1.Text;
item.nanme = textBox2.Text;
item.banji = textBox3.Text;
linq.SubmitChanges();
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
linq = new DataClasses1DataContext(sqlcon);
textBox1.Text = Convert.ToString(dataGridView1[0, e.RowIndex].Value.ToString()).Trim();
var result=
from table in linq.student
where table.xh==textBox1.Text
select new
{
学号 = table.xh,
班级 = table.banji,
姓名 = table.nanme
};
foreach(var item in result)
{
textBox1.Text = item.学号;
textBox2.Text = item.姓名;
textBox3.Text = item.班级;
}
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("请输入要删除的学号");
}
else
{
linq = new DataClasses1DataContext(sqlcon);
var result =
from tabel in linq.student
where tabel.xh == textBox1.Text
select tabel;
linq.student.DeleteAllOnSubmit(result);
linq.SubmitChanges();
}
}
}
}
添加功能
添加后自动全查询
双击自动将改行信息填入文本框,方便修改
删除功能