From 4cc763706597d6ea82392f653333e33c31485b49 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 22 十二月 2023 15:23:01 +0800 Subject: [PATCH] 提交查询、删除接口 --- JiangSu/cs/ModelDAL.cs | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/JiangSu/cs/ModelDAL.cs b/JiangSu/cs/ModelDAL.cs index defad0a..45be61d 100644 --- a/JiangSu/cs/ModelDAL.cs +++ b/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); + } } } -- Gitblit v1.9.3