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