具體實現方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 public string GenerateExamePaper(string paperType, string driverID, string MacAddr) { int i; IDataParameter[] iData = new SqlParameter[4]; iData[0] = new SqlParameter("@paperType", paperType); iData[1] = new SqlParameter("@driverID", driverID); iData[2] = new SqlParameter("@MacAddr", MacAddr); iData[3] = new SqlParameter("@sReturn", SqlDbType.Char, 50, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default,null); string aaa = ""; i= DbHelperSQL.RunProcedureParOut("Pro_GenerateExamePaper", iData, out aaa).ToString(); return aaa; } /// <summary> /// 執行存儲過程,返回影響的行數 /// </summary> /// <param name="storedProcName">存儲過程名</param> /// <param name="parameters">存儲過程參數</param> /// <param name="rowsAffected">影響的行數</param> /// <param name="rowsAffected">返回output值</param> /// <returns></returns> public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected,out str) { using (SqlConnection connection = new SqlConnection(connectionString)) { int result; connection.Open(); SqlCommand command = BuildIntCommand(connection, storedProcName, parameters); rowsAffected = command.ExecuteNonQuery(); result = (int)command.Parameters["ReturnValue"].Value; str= (int)command.Parameters["@sReturn"].Value; return result; } }