using System.Data; using System.Data.OracleClient; using WX.CRM.Model; using WX.CRM.Model.Enum; namespace WX.CRM.DAL.Base { public class SEQUENCES_DAL { public decimal Seq_base_get(PKIDType ntype = PKIDType.SmallTable, string conn = null) { if (ConStringHelper.DatabaseType == ConStringHelper.DatabaseTypeNum.SQLSERVER)//SQLServerID是自增的不需要函数返回ID { using (var db = new Model.EntitySync.Entities()) { var seed = new Model.EntitySync.BASE_SEED(); db.BASE_SEED.Add(seed); db.SaveChanges(); return seed.PKID; } } return ntype == PKIDType.SmallTable ? Seq_smallid_get(conn) : Seq_largeid_get(conn); } decimal Seq_smallid_get(string conn = null) { OracleParameter[] p = { new OracleParameter("pkid", OracleType.Number) }; p[0].Direction = ParameterDirection.ReturnValue; if (string.IsNullOrEmpty(conn)) OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_BASE.Seq_smallid_get", p); else OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_BASE.Seq_smallid_get", p); return decimal.Parse(p[0].Value.ToString()); } decimal Seq_largeid_get(string conn = null) { OracleParameter[] p = { new OracleParameter("pkid", OracleType.Number) }; p[0].Direction = ParameterDirection.ReturnValue; if (string.IsNullOrEmpty(conn)) OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_BASE.Seq_largeid_get", p); else OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_BASE.Seq_largeid_get", p); return decimal.Parse(p[0].Value.ToString()); } } }