LINQ to SQL 能够调用存储过程从数据库中查询数据。为了方便开发人员调用存储过程,LINQ to SQL将为存储过程创建一个方法,并指定该方法调用的存储过程,以及传入的参数和返回值。
在左边数据连接中把写好的存储过程托到右边第二个里面就可以,当方法调用
查询数据
use LinqDB //创建一个存储过程 go create proc Pr_GetUsers as select * from UserInfo order by ID desc go
LinqDBDataContext db = new LinqDBDataContext(); var result = from u in db.Pr_GetUsers() where u.ID < 50 select u; //绑定控件并显示 dl_List.DataSource = result; 可以直接当数据源使用 dl_List.DataSource=db.Pr_GetUsers()
dl_List.DataBind();
添加数据
create proc Pr_InsertCategory ( @Name varchar(50)=null, @ParentID int=null, @ShowOrder int=null, @Remark text=null ) as insert into Category ([Name],ParentID,ShowOrder,Remark) values (@Name,@ParentID,@ShowOrder,@Remark) go
LinqDBDataContext db = new LinqDBDataContext(); int result= db.Pr_InsertCategory(t_Name.Text, Convert.ToInt32(ddl_Parent.SelectedValue), Convert.ToInt32(t_Num.Text), t_Words.Text); if (result!=-1) { Response.Write("<script>alert('添加成功!')</script>"); } else { Response.Write("<script>alert('添加失败!')</script>"); }
删除数据同理
DataContext 类相关的方法
检测数据库是否存在的DatabaseExists()方法
LinqDBDataContext db = new LinqDBDataContext(); if (db.DatabaseExists()) { Response.Write("数据库连接成功!"); }
DatabaseExists()方法在检测指定的数据库时,将尝试打开DataContext类的实例指定的数据库连接。如果打开连接成功,则返回true,否则返回false;
创建数据库的CreateDatabase()方法
db.CreateDatabase();
删除数据库的DeleteDatabase()方法
db.DeleteDatabase();
执行SQL命令的ExcuteCommand()方法
LinqDBDataContext db = new LinqDBDataContext(); string cmdText = "update userinfo set username=username+'"+DateTime.Now.Year+"' where ID>90"; //相当于SQL语句 int result = db.ExecuteCommand(cmdText); Response.Write(result + "条数据被更新");
执行SQL查询的ExcuteQuery()方法
LinqDBDataContext db = new LinqDBDataContext(); string cmdText = "select top 10 * from userinfo"; //执行SQL查询 IEnumerable<UserInfo> result= db.ExecuteQuery<UserInfo>(cmdText); //接口不能new 可以用子类来接受 foreach (UserInfo u in result) { Response.Write("用户名称:" + u.Username + "<br>"); }