LinQ to SQL 存儲過程


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>");
       }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM