sqlhelper存儲過程
㈠ sqlhelper 執行 Oracle 的存儲過程,如何返刪除的行數請給出簡單可行的例子 。
public override int DeleteUser(string userID)
{
OracleParameter[] para =new OracleParameter[2];
para[0] = new SqlParameter(":userID", OracleDbType.VARCHAR2) { Value = userID };
para[1] = new SqlParameter(":rowCnt", OracleDbType.Number) { Direction = ParameterDirection.Output };
// 調用有參數的存儲過程
sqlHelper.ExecuteNonQuery(ConnectionString, GetFullyQualifiedName("Userdelete"), para);
return (int)para[1].Value;
}
//////////////////////////////////////////////
CREATE OR REPLACE PROCEDURE Userdelete
(
userID IN VARCHAR2,
rowCnt out number
)
IS
BEGIN
DELETE FROM USERM WHERE userID = 'S001';
select sql%rowcount into rowcnt from al;
END;
Oracle有個隱式參數:sql%rowcount
用於記錄受影響的行數
給存儲過程設置一個output的參數
在刪除語句後面用:
select sql%rowcount into 參數 from al
㈡ SQL Server 如何執行 帶參數的 存儲過程
帶參數的存儲過程執行方法如下:
(1)調用通用數據訪問類:SqlHelper,執行SqlHelper.ExecuteNonQuery()方法
(2)使敬譽春用示例:SqlHelper.ExecuteNonQuery(conn,CommandType.StoredProcere,sqlexec,myparm)
(3)其中傳遞的4個參數如下:
「conn」:為鏈接字元
「CommandType.StoredProcere」:表示要執亮耐行的SQL存儲過程類型
「sqlexec」:要執行的SQL存儲過程
「myparm」:為傳遞的參虛沖數,它需要參數的初始化、賦予參數名稱、設定類型、長度和值等
(4)當ExecuteNonQuery()執行select 查詢時,結果總是返回-1。ExecuteNonQuery()執行Update、Insert和Delete語句時,返回值為該命令所影響的行數。