管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-12-22 4cc763706597d6ea82392f653333e33c31485b49
提交查询、删除接口
已修改4个文件
121 ■■■■■ 文件已修改
JiangSu/App_Data/js.db 补丁 | 查看 | 原始文档 | blame | 历史
JiangSu/Controllers/OpController.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiangSu/cs/ModelDAL.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiangSu/index.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiangSu/App_Data/js.db
Binary files differ
JiangSu/Controllers/OpController.cs
@@ -12,9 +12,65 @@
    public class OpController : ApiController
    {
        [HttpGet]
        public Model SelectById(int id)
        public Model SelectById(long id)
        {
            return ModelDAL.SelectById(id);
            try
            {
                return ModelDAL.SelectById(id);
            }
            catch (Exception ex)
            {
                LogOut.Error(ex.StackTrace);
                return null;
            }
        }
        [HttpGet]
        public int DeleteByIds([FromUri] List<long> ids)
        {
            try
            {
                if (null == ids || ids.Count == 0) return 0;
                return ModelDAL.DeleteByIds(ids);
            }
            catch (Exception ex)
            {
                LogOut.Error(ex.StackTrace);
                return 0;
            }
        }
        [HttpPost]
        public int insert([FromBody] Model model)
        {
            try
            {
                if (null == model) return 0;
                return ModelDAL.insert(model);
            }
            catch (Exception ex)
            {
                LogOut.Error(ex.StackTrace);
                return 0;
            }
        }
        [HttpPost]
        public int UpdateById([FromBody] Model model)
        {
            try
            {
                if (null == model) return 0;
                return ModelDAL.UpdateById(model);
            }
            catch (Exception ex)
            {
                LogOut.Error(ex.StackTrace);
                return 0;
            }
        }
    }
}
JiangSu/cs/ModelDAL.cs
@@ -4,13 +4,46 @@
using System.Data;
using System.Data.SQLite;
using System.Linq;
using System.Reflection;
using System.Web;
namespace JiangSu.cs
{
    public class ModelDAL
    {
        public static Model SelectById(int id)
        /// <summary>
        /// 获取参数列表
        /// </summary>
        public static SQLiteParameter[] GetParams<T>(string sql, T t)
        {
            List<SQLiteParameter> list = new List<SQLiteParameter>();
            Type tType = typeof(T);
            BindingFlags flags = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
            int start = sql.IndexOf("@");
            while (start != -1)
            {
                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 list.ToArray();
        }
        public static Model SelectById(long id)
        {
            string sql = "select * from model where id = @id";
@@ -27,5 +60,29 @@
            return null == list || list.Count == 0 ? null : list[0];
        }
        public static int DeleteByIds(List<long> list)
        {
            string ids = string.Join(",", list.ToArray());
            string sql = string.Format("delete from model where id in ({0})", ids);
            return SQLiteHelper.ExecuteNonQuery(sql);
        }
        public static int insert(Model model)
        {
            string sql = "insert into model (name, json) values (@name, @json)";
            SQLiteParameter[] sqlParams = GetParams<Model>(sql, model);
            return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
        }
        public static int UpdateById(Model model)
        {
            string sql = "update model set name = @name, json = @json where id = @id";
            SQLiteParameter[] sqlParams = GetParams<Model>(sql, model);
            return SQLiteHelper.ExecuteNonQuery(sql, sqlParams);
        }
    }
}
JiangSu/index.html
@@ -8,5 +8,7 @@
  <a href="http://localhost/JiangSu/Values/Get">GetValues</a> <br />
  <a href="http://localhost/JiangSu/Op/SelectById?id=1">SelectById?id=1</a> <br />
  <a href="http://localhost/JiangSu/Op/DeleteByIds?ids=2,3">DeleteByIds?ids=2,3</a> <br />
</body>
</html>