管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2024-09-25 85b05ad7bc5ba6d7755957e4c6b1ba10c031c23b
JiangSu/cs/ModelDAL.cs
@@ -11,36 +11,20 @@
{
    public class ModelDAL
    {
        /// <summary>
        /// 获取参数列表
        /// </summary>
        public static SQLiteParameter[] GetParams<T>(string sql, T t)
        public static List<Model> SelectByPage(string name, int pageSize = 10, int pageIndex = 1)
        {
            List<SQLiteParameter> list = new List<SQLiteParameter>();
            Type tType = typeof(T);
            BindingFlags flags = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
            bool flag = string.IsNullOrWhiteSpace(name);
            string sql = string.Format("select * from model {0} order by id limit {1} offset {2}", flag ? "" : "where upper(name) like @name", pageSize, pageSize * (pageIndex - 1));
            int start = sql.IndexOf("@");
            while (start != -1)
            DataTable dt = flag ? SQLiteHelper.GetDataTable(sql) : SQLiteHelper.GetDataTable(sql, new SQLiteParameter("@name", "%" + name.Trim().ToUpper() + "%"));
            if (null == dt || dt.Rows.Count == 0)
            {
                int end = sql.IndexOf(",", start);
                if (end == -1) end = sql.IndexOf(")", start);
                if (end == -1) end = sql.IndexOf(" ", start);
                if (end == -1) end = sql.Length;
                string name = sql.Substring(start + 1, end - start - 1);
                PropertyInfo pi = tType.GetProperty(name, flags);
                if (pi != null)
                {
                    object value = pi.GetValue(t, null);
                    SQLiteParameter dp = new SQLiteParameter("@" + name, value);
                    list.Add(dp);
                }
                start = sql.IndexOf("@", end);
                return null;
            }
            return list.ToArray();
            List<Model> list = ModelHandler.FillModel<Model>(dt);
            return list;
        }
        public static Model SelectById(long id)
@@ -61,26 +45,35 @@
            return null == list || list.Count == 0 ? null : list[0];
        }
        public static int DeleteByIds(List<long> list)
        public static int DeleteByIds(List<int> ids)
        {
            string ids = string.Join(",", list.ToArray());
            string sql = string.Format("delete from model where id in ({0})", ids);
            string str = string.Join(",", ids.ToArray());
            string sql = string.Format("delete from model where id in ({0})", str);
            return SQLiteHelper.ExecuteNonQuery(sql);
        }
        public static int insert(Model model)
        public static int DelAll()
        {
            string sql = "insert into model (name, json) values (@name, @json)";
            SQLiteParameter[] sqlParams = GetParams<Model>(sql, model);
            return SQLiteHelper.ExecuteNonQuery("delete from model");
        }
            return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
        public static int Insert(Model model)
        {
            string sql = "insert into model (name, json) values (@name, @json); select last_insert_rowid();";
            SQLiteParameter[] sqlParams = Tools.GetSQLiteParams<Model>(sql, model);
            //return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
            object obj = SQLiteHelper.ExecuteScalar(sql, sqlParams);
            return null == obj ? 0 : Convert.ToInt32(obj);
        }
        public static int UpdateById(Model model)
        {
            string sql = "update model set name = @name, json = @json where id = @id";
            SQLiteParameter[] sqlParams = GetParams<Model>(sql, model);
            SQLiteParameter[] sqlParams = Tools.GetSQLiteParams<Model>(sql, model);
            return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
        }