以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 = {parameter1,parameter2,..., parametern}; 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, IDataParameter[]parameters) { 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,這些的名字要和預存程序中的參數名一樣,順序和類型均要對應一致。