C 如何執行儲存過程

2021-12-30 00:39:14 字數 3293 閱讀 2407

以oracle為例,其它資料庫僅改變資料庫物件就可以。下面是帶引數的,不帶引數的話paramete為null即可。

引數對應

public static int uploadstartclosesoftinfo(string args)   

oracleparameter parameter1 = new oracleparameter(引數名1, oracletype.型別);   

parameter1.value =型別轉換(args[0]);               

oracleparameter parameter2 = new oracleparameter(引數名2, oracletype.型別);   

parameter2.value =型別轉換(args[1]);   

oracleparameter parametern = new oracleparameter(引數名n, oracletype.型別);   

parametern.value =型別轉換(args[n-1]); 

oracleparameter parameter  

= ;                

return sdprovider.runprocedure(儲存過程名, parameter);      

public static int uploadstartclosesoftinfo(string args) 

oracleparameter parameter1 = new oracleparameter(引數名1, oracletype.型別); 

parameter1.value =型別轉換(args[0]);             

oracleparameter parameter2 = new oracleparameter(引數名2, oracletype.型別); 

parameter2.value =型別轉換(args[1]); 

oracleparameter parametern = new oracleparameter(引數名n, oracletype.型別); 

parametern.value =型別轉換(args[n-1]);

oracleparameter parameter

= ;              

return sdprovider.runprocedure(儲存過程名, parameter);    

執行 public class sdprovider   

public static string getconnectionstring()   

string constr =連線資料庫字串;   

return constr ;   

public static int runprocedure(string  prname, idataparameter parameters)   

try   

using(oracleconnection connection=  

new oracleconnection(getconnectionstring()))   

connection.open();   

oraclecommand command =  

buildquerycommand(connection, storedprocname, parameters);   

return  command.executenonquery();   

catch   

return 0;   

private static oraclecommand buildquerycommand  

(oracleconnection connection, 

string storedprocname,  

idataparameterparameters)   

oraclecommand command = new oraclecommand(storedprocname, connection);   

command.commandtype = commandtype.storedprocedure;   

if(parameters!=null) 

foreach (oracleparameter parameter in parameters)   

command.parameters.add(parameter);   

return command;   

public class sdprovider 

public static string getconnectionstring() 

string constr =連線資料庫字串; 

return constr ; 

public static int runprocedure(string  prname, idataparameter parameters) 

try 

using(oracleconnection connection=

new oracleconnection(getconnectionstring())) 

connection.open(); 

oraclecommand command =

buildquerycommand(connection, storedprocname, parameters); 

return  command.executenonquery(); 

catch 

return 0; 

private static oraclecommand buildquerycommand

(oracleconnection connection,

string storedprocname,

idataparameterparameters) 

oraclecommand command = new oraclecommand(storedprocname, connection); 

command.commandtype = commandtype.storedprocedure; 

if(parameters!=null)

foreach (oracleparameter parameter in parameters) 

command.parameters.add(parameter); 

return command; 

注意:1、儲存過程名正確。

2、引數名1,參引數名2,這些的名字要和儲存過程中的引數名一樣,順序和型別均要對應一致。

摘自 白楊樹

C 如何執行儲存過程

以oracle為例,其它資料庫僅改變資料庫物件就可以。下面是帶引數的,不帶引數的話paramete為null即可。引數對應 public static int uploadstartclosesoftinfo string args return sdprovider.runprocedure 儲存...

C 執行儲存過程

1 建立儲存過程 其中返回乙個值,統計表中符合條件資料數量 create procedure sp test name varchar 10 查詢條件 count int output 返回值 asbegin select count count from test where name name ...

C 執行儲存過程

閒話不多說,直接上 sql通用類 public class sqlhelper sqldataadapter sda new sqldataadapter sqlcmd sda.fill responseds catch exception e n 異常原因 n 異常詳細資訊 return resp...