全名:LinQ to sql类:集成化的数据访问类。会自动生成,进行数据库数据访问。

LinQ的创建:

1、链接数据库:添加--添加新项--找到LINQ to SQL类--名字就叫数据库的名称就好。

2、实例化:找到连接到的数据库,要操作的表拖进来就行了。

3、操作数据库:直接添加类,名称写操作的表名就可以。

以下是各个操作:

一、查询所有 和 条件查询

public class UsersDA
{
Data0617DataContext con = new Data0617DataContext();//实例化
public List<Users> Select()//查所有
{
//List<Users> list = new List<Users>();
//list = con.Users.ToList();
//return list; ;这三句可以转换成下面一句
return con.Users.ToList();
}
public List<Users> Select(string uname)//根据条件查询
{
//Lamdba表达式
return con.Users.Where(r => r.UserName == uname).ToList();
//r 是随便起的名字 表示数据库里的一条数据, =>是固定格式,多个条件用&&并且
}
}

二、字段扩展

添加类----名字就起  表名。

public partial class Users

public partial class Users
{
public string SexStr { get {return Convert.ToBoolean( _Sex )? "男" : "女"; } } public string Birstr{get{return Convert.ToDateTime( this._Birthday).ToString("yyyy年MM月dd日");}}
}

扩展民族,外键表

    //民族表实例化  民族表根据code找民族名称的方法  操作在来调用
public string NationName { get { return new NationDA().SelectNationName(_Nation); } }//传过来_Nation这个对象
public string Nname { get { return Nation1.NationName; } }//在主外键关系不出错的情况下用这个方法
自动生成Nation1,根据code找到NationName
}
public class NationDA
{
Data0617DataContext con = new Data0617DataContext();
public string SelectNationName(string Ncode)
{
return con.Nation.Where(r => r.NationCode == Ncode).FirstOrDefault().NationName;//返回列表中的元素NationName
}通过Ncode,查出对象,返回NationName


}

三、添加

在数据访问类中写  添加、删除、修改的方法:

public class UsersData
{
Data0617DataContext con = new Data0617DataContext(); public void Insert(Users u)//添加
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();添加
} public void Delete(string Uname)//删除
{
Users uu = con.Users.Where(r => r.UserName == Uname).FirstOrDefault();//先查出来
if (uu != null)//判断有没有
{
con.Users.DeleteOnSubmit(uu);
con.SubmitChanges();删除
}
} public Users Select(string uname)//修改时先根据主键值查询
{
return con.Users.Where(r => r.UserName == uname).FirstOrDefault();
} public void Update(Users u)
{
Users uuu = con.Users.Where(r => r.UserName == u.UserName).FirstOrDefault();先查询
uuu.PassWord = u.PassWord;
uuu.NickName = u.NickName;
uuu.Sex = u.Sex;
uuu.Birthday = u.Birthday;
uuu.Nation = u.Nation;
con.SubmitChanges();再执行提交--修改
} }

后台代码:

 protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;//添加
Button2.Click += Button2_Click;//删除
} void Button2_Click(object sender, EventArgs e)
{
//删除
new UsersData().Delete(TextBox7.Text); } void Button1_Click(object sender, EventArgs e)
{
Users u = new Users();//添加
u.UserName = TextBox1.Text;
u.PassWord = TextBox2.Text;
u.NickName = TextBox3.Text;
u.Sex = Convert.ToBoolean(TextBox4.Text);
u.Birthday = Convert.ToDateTime(TextBox5.Text);
u.Nation = TextBox6.Text; new UsersData().Insert(u); }
  protected void Page_Load(object sender, EventArgs e)
{
Button2.Click += Button2_Click;//先查询出来再做修改
Button1.Click += Button1_Click;//修改
} void Button1_Click(object sender, EventArgs e)
{
Users uuu = new Users();
uuu.UserName = TextBox1.Text;
uuu.PassWord = TextBox2.Text;
uuu.NickName = TextBox3.Text;
uuu.Sex = Convert.ToBoolean(TextBox4.Text);
uuu.Birthday = Convert.ToDateTime(TextBox5.Text);
uuu.Nation = TextBox6.Text; new UsersData().Update(uuu);//修改 } void Button2_Click(object sender, EventArgs e)
{
//查查有没有这条数据
Users u = new UsersData().Select(TextBox7.Text);
if (u == null)
{
Label1.Text = "查无此人!";
return;
}
Label1.Text = ""; TextBox1.Text = u.UserName;
TextBox2.Text = u.PassWord;
TextBox3.Text = u.NickName;
TextBox4.Text = u.Sex.ToString();
TextBox5.Text = u.Birthday.ToString();
TextBox6.Text = u.Nation;
}

最新文章

  1. SQLAlchemy 几种查询方式总结
  2. css之滚动条
  3. 让HTML页面缩放适应移动客户端尺寸
  4. FastMM 定位内存泄露的代码位置
  5. 解决 pathForResource 返回 nil的问题
  6. 织梦(dedecms) 5.7 /plus/car.php sql注入0day
  7. Codeforces Round #219 (Div. 1) C. Watching Fireworks is Fun
  8. iOS和android游戏纹理优化和内存优化(cocos2d-x)
  9. 1874 素数和最大 - Wikioi
  10. Android_SystemService
  11. 使用Keil建立工程和烧录到89C52板上
  12. bzoj2071: [POI2004]JAS
  13. Delphi COM编程学习笔记(1)
  14. ZOJ 3822 可能性DP
  15. Android(Lollipop/5.0) Material Design(六) 使用图像
  16. Linux系列教程(五)——Linux链接命令和权限管理命令
  17. json之dump和dumps,load和loads
  18. Maven学习总结(11)——Maven Tomcat7自动部署
  19. resource fork, Finder information, or similar detritus not allowed
  20. POJ 3710 无向图简单环树上删边

热门文章

  1. JS总结
  2. varnish 4.0.3 域名访问的小问题
  3. email
  4. [POJ2761] Feed the dogs (Treap)
  5. (Tree) 101. Symmetric Tree
  6. jQuery MiniUI开发系列之:使用API文档
  7. 在Linux上编写C#程序
  8. Java面向对象㈡ -- 继承与多态
  9. SQL Server performance tips
  10. oracle安装不容易啊