儲存過程心得

2021-04-13 13:25:55 字數 2630 閱讀 9122

最近接觸了個採用儲存過程的系統開發,感覺儲存過**的很好啊 哈哈,以前看了很長一段時間這方面的書,感覺真他媽的複雜,現在直接邊看邊自己親手寫,感覺效果好多了,更加的直觀,深刻。

storedprocedure 是在system.data 下面

一:建立 sqlconnection 連線 returncon

二:實現 cmd的方法(有多個過載)

public static sqlcommand creatcmd(string procname,system.data.sqlclient.sqlparameter prams,sqlconnection con)

sqlcommand cmd=new sqlcommand();

cmd.connection=sqlcon;

cmd.commandtext=procname;

cmd.commandtype=commandtype.storedprocedure; //採用儲存過程

if(prams!=null)

}}return cmd;   

}三(1):實現sqldatareader的多個過載方法引用上面的cmd(根據引數個數一一對應)

public static sqldatareader runprogetreader(string procname,system.data.sqlclient.sqlparameter prams,sqlconnection con)

三(2)實現sqldataadapter的方法,返回datatable型別

引用上面的cmd

public static datatable runprocgettable(string procname,system.data.sqlclient.sqlparameter prams,sqlconnection con)

四(1)實現cmd的返回方法executenonquery的多個過載

引用上面的cmd(根據引數個數一一對應)

public static int runexecute(string procname,system.data.sqlclient.sqlparameter prams)

四(2)實現cmd的返回方法executescalar

的多個過載引用上面的cmd(根據引數個數一一對應)

public static int runexecutescalar(string procname,system.data.sqlclient.sqlparameter prams)

功能實現類舉例--------使用者類:

public class user

}public string username   //公共屬性,唯讀

set}

public string userpwd

set}

public user()

public user(string username,string userpwd)

public user(sqldatareader sdr)

public static bool adduser(user singleuser)

;prams[0].value=singleuser._username;

prams[1].value=singleuser._userpwd;

int intresult=database.runexecute(procname,prams);

if(intresult>0)

return flag;

}public static bool deleteuser(int userid)

;prams[0].value=userid;

int intresult=database.runexecute(procname,prams);

if(intresult>0)

return flag;   

}public static bool updateuser(user singleuser)

;prams[0].value=singleuser._userid;

int intresult=database.runexecute(procname,prams);

if(intresult>0)

return flag;   

}public static bool changepwd(int userid,string userpwd)

;prams[0].value=userid;

int intresult=database.runexecute(procname,prams);

if(intresult>0)

return flag;

}public static user getuserbyuserid(int userid)

;prams[0].value=userid;

sqldatareader sdr = database.runprogetreader(procname,prams);

while(sdr.read())

sdr.close();

return singleuser;

}功能實現類舉例--------新聞類

功能實現類舉例--------模組類

.....

.....

.....

SQL儲存過程使用心得

實際例子1 查詢資料表中所有資料的儲存過程 查詢分析器中測試儲存過程語句 declare retval int execute sp showalluserinfo retval 企業管理器中的儲存過程語句 create procedure sp showalluserinfo retval int...

oracle 儲存過程使用心得

第 一 儲存過程通用結構 1 定義儲存名稱 傳入引數 傳出引數 create or replace procedure proc function in opt in varchar2 out opt in varchar2,outvalue out sys refcursor as 2 定義變數引...

mysql儲存過程學習心得

1 使用 delimiter 來分隔程式段避免 語句的執行,建立過程完畢後再用 delimiter 取消剛才 的定義,使得 執行有效 2 除錯過程可以使用 declare g verify int set g verify 1234 select g verify 能看了 效果如下 選中跟背景顏色相...