using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
/*---------------------------------------------
* 标题:LINQ to SQL 基本用法;
* 作者:靳志远(jack15850798154)
* 时间:2010-03-18
* 地点:江苏南京
* 说明 :通过 LINQ来实现对数据库的基本操作(增加、删除、修改)。
*----------------------------------------------
*/
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//数据库连接字符串
string strCon = "Data Source=.;DataBase=master;uid=sa;pwd=sql;";
DataClasses1DataContext linq;
/// <summary>
/// 单表查询功能。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
BindInfo();
}
/// <summary>
/// 实现LINQ SQL查询功能
/// </summary>
public void BindInfo()
{
linq = new DataClasses1DataContext(strCon);
var result = from info in linq.sss
select new
{
id = info.id,
name = info.name,
};
dataGridView1.DataSource = result;
}
/// <summary>
/// 实现LINQ SQL 添加功能;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(strCon);
sss s = new sss();
s.id = Convert.ToInt32(this.textBox1.Text.Trim());
s.name = this.textBox3.Text.Trim();
linq.sss.InsertOnSubmit(s);
linq.SubmitChanges();
MessageBox.Show("员工信息添加成功");
BindInfo();
}
/// <summary>
/// 实现LINQ SQL 修改功能;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(strCon);
var result = from info in linq.sss
where info.id == Convert.ToInt32(this.textBox1.Text.Trim())
select info;
foreach (sss s in result)
{
s.name = this.textBox3.Text.Trim();
linq.SubmitChanges();
}
MessageBox.Show("员工信息修改成功");
BindInfo();
}
/// <summary>
/// 实现LINQ SQL 删除功能;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(strCon);
var result = from info in linq.sss
where info.id == Convert.ToInt32(this.textBox1.Text.Trim())
select info;
linq.sss.DeleteAllOnSubmit(result);
linq.SubmitChanges();
MessageBox.Show("删除成功");
BindInfo();
}
/// <summary>
/// LINQ实现多表联合查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click(object sender, EventArgs e)
{
linq = new DataClasses1DataContext(strCon); //实例化Linq连接。
var result = from info in linq.sss join //多表连接用join....on 判断两个数据是否相等用equals来进行判断。
info1 in linq.sssage
on info.id equals info1.uid where info.id==1 //这句需要注意的。
select new //需要显示的是那些数据。
{
id = info.id, //id,name,age为列名。
name = info.name,
age=info1.age
};
dataGridView1.DataSource = result; //绑定到数据库中。
}
}
}