呵呵,測試了一下c#呼叫儲存過程:
create procedure sp_accountrole_create@categoryid int,
@rolename nvarchar(10),
@description nvarchar(50),
@roleid int output
asdeclare @count int
-- 查詢是否有相同名稱的記錄
select @count = count(roleid) from account_role where
rolename = @rolename
if @count = 0
insert into account_role
(categoryid, rolename, description) values
(@categoryid, @rolename, @description)
set @roleid = @@identity
return 1
go
執行儲存過程的c#過程:
sqlconnection dbconnection = new sqlconnection(mconnectionstring);//用sqlcommand的建構函式,指定sql儲存過程名和連線字;
sqlcommand command = new sqlcommand( "sp_accountrole_create", dbconnection );
dbconnection.open(connectstring);
// 下面的語句設定sqlcommand的屬性為儲存過程
command.commandtype = commandtype.storedprocedure;
command.parameters.add("@categoryid", sqldbtype.int, 4);
command.parameters.add("@rolename", sqldbtype.nvarchar, 10);
command.parameters.add("@description", sqldbtype.nvarchar, 50);
command.parameters.add("@roleid", sqldbtype.int, 4);
// 返回值
command.parameters.add("returnvalue",
sqldbtype.int,
4, // size
parameterdirection.returnvalue,
false, // is nullable
0, // byte precision
0, // byte scale
string.empty,
datarowversion.default,
null );
command.parameters["@categoryid"].value = permission.categoryid;
command.parameters["@rolename"].value = permission.permissionname;
command.parameters["@description"].value = permission.description;
// 可以返回新的id值
command.parameters["@roleid"].direction = parameterdirection.output;
//下面的語句開始執行儲存過程的查詢操作;
int rowsaffected = command.executenonquery();
int result = command.parameters["returnvalue"].value;
int newid = command.parameters["@roleid"].value;
得到三個值,分別是行影響值,儲存過程返回值,新的id值
Oracle儲存過程呼叫儲存過程
oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...
呼叫儲存過程
用乙個命令物件呼叫儲存過程,就是定義儲存過程的名稱,給過程的每個引數新增引數定義,然後執行命令。1.呼叫沒有返回值的儲存過程 呼叫儲存過程的最簡單示例是不給呼叫者返回任何值。下面定義了兩個這樣的儲存過程,乙個用於更新現有的region記錄,另乙個用於刪除指定的region記錄。1 記錄的更新 cre...
儲存過程呼叫
size medium color blue 於 size small 儲存過程 包含三部分 宣告,執行部分,異常。可以有無引數程式和帶引數儲存過程。無參程式語法 1 create or replace procedure noparpro 2 as 3 begin 4 5 exception 6 ...