5,儲存過程

2022-02-25 19:09:02 字數 2907 閱讀 2525

概要:

內容:

vs幫你生成的儲存過程**:

publicisingleresultproc_selectadmin()

iexecuteresultresult = this.executemethodcall(this, ((methodinfo)

(methodinfo.getcurrentmethod())));

return((isingleresult)(result.returnvalue));

此次學習的表admin:      

login          nchar(10)   checked

pwd          nchar(10)   checked

user表:

login          nchar(10)   checked

pwd          nchar(10)   checked

儲存過程:

alter proc [dbo].[proc_deleuserbylogin]

@login nchar(10)

asdelete dbo.[user] where login=@login

alter proc [dbo].[proc_insertuser]

@login nchar(10),

@pwd nchar(10)

asinsert into dbo.[user]values(@login,@pwd)

alter proc [dbo].[proc_selectadmin]

asselect * from dbo.admin

alter proc[dbo].[proc_selectadminanduser]

asselect * from dbo.admin

select * from dbo.[user]

alter proc [dbo].[proc_selectcountadminbylogin]

@login nchar(10),

@count int output

asset @count=(select count(*) fromdbo.admin where login=@login)

alter proc[dbo].[proc_selectstringadminbylogin]

@login nchar(10)

asif exists (select 1 from dbo.adminwhere login=@login)

return 123

else

return 456

alter proc [dbo].[proc_updateadmin]

@oldloginnchar(10),

@newlogin nchar(10)

asupdate dbo.admin set login=@newloginwhere login=@oldlogin

1, 一般查詢的儲存過程

lqdemo5dbdatacontext ctx = newlqdemo5dbdatacontext("連線");

gridview1.datasource =ctx.proc_selectadmin();

gridview1.databind();

或者我們使用linq to object查詢儲存過程的結果:

var ad = from c in ctx.proc_selectadmin() where c.login=="admin" select c;

2, 帶引數

int? m=-1;//表示可空的int型別,system.nullable的簡寫

ctx.proc_selectcountadminbylogin("admin",ref m);

response.write(m);

3, 帶返回值

response.write(ctx.proc_selectstringadminbylogin("admin"));

4, 多結果集

//publicisingleresultproc_selectadminanduser()

//   iexecuteresult result = this.executemethodcall(this,((methodinfo)(methodinfo.getcurrentmethod())));

//   return((isingleresult)(result.returnvalue));

修改為:

[function(name="dbo.proc_selectadminanduser")]

[resulttype(typeof(admin))]

[resulttype(typeof(user))]

public imultipleresultsproc_selectadminanduser()

iexecuteresult result=this.executemethodcall(this,((methodinfo)(methodinfo.getcurrentmethod())));

return (imultipleresults)(result.returnvalue);

使用的時候:

varrusult = ctx.proc_selectadminanduser();

var admin = rusult.getresult();

var user = rusult.getresult();

注意:系統有時候會自動修改回原內容。

5, 新增資料

//語句和儲存過程兩種新增

//user us = new user();

"usersss";

= "pwdpwd";

沒有主鍵,**自帶增刪改不能用

ctx.proc_insertuser("useraaa","zxxcz");

MySQL5建立儲存過程例項

以下的文章主要是介紹mysql5建立儲存過程的例項演示,mysql5建立儲存在實際操作中應用的頻率還是很高的,以下就是mysql5建立儲存過程的例項具體描述,希望在你今後的學習中會有所幫助。1 用mysql客戶端登入 2 選擇資料庫 mysql use test 3 查詢當前資料庫有哪些儲存過程 m...

MySQL儲存過程返回多個值 5

mysql儲存函式只返回乙個值。要開發返回多個值的儲存過程,需要使用帶有inout或out引數的儲存過程。返回多個值的儲存過程示例 select from orders 原表的資料如上面所示。返回多個值,其實就是多設定幾個inout out的引數。sql 如下 use yiibaidb drop p...

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...