MySQL通过实例化对象参数查询实例讲解
发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,本篇文章给大家带来的内容是关于MySQL如何通过实例化对象参数查询数据 ?(源代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。public static string Query
千家信息网最后更新 2024年10月07日MySQL通过实例化对象参数查询实例讲解
本篇文章给大家带来的内容是关于MySQL如何通过实例化对象参数查询数据 ?(源代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
public static string QueryByEntity(T t) where T : new(){ string resultstr = string.Empty; MySqlDataReader reader = null; try { Type type = typeof(T); PropertyInfo[] properties = type.GetProperties(); string select = string.Format("Select * from {0} {1}", type.Name, "{0}"); string where = string.Empty; foreach (PropertyInfo property in properties) { var value = t.GetPropertyValue (property); if (value != null && !value.Equals(property.GetDefaultValue())) { if (string.IsNullOrEmpty(where)) { where = string.Format(" where {0}='{1}' ", property.Name, value); } else { where = string.Format(" {0} and {1} = '{2}' ", where, property.Name, value); } } } select = string.Format(select, where); MySqlConnection connection = OpenConnection(); if (connection == null) return resultstr; MySqlCommand _sqlCom = new MySqlCommand(select, connection); reader = _sqlCom.ExecuteReader(); List tList = new List (); while (reader.Read()) { T t1 = new T(); foreach (PropertyInfo property in properties) { if (!string.IsNullOrEmpty(reader[property.Name].ToString())) { property.SetMethod.Invoke(t1, new object[] { reader[property.Name] }); } } tList.Add(t1); } resultstr = JsonConvert.SerializeObject(tList); } catch (Exception ex) { Logging.Error(string.Format("查询数据库失败,{0}", ex.Message)); } finally { if (reader != null) { reader.Close(); reader.Dispose(); } } return resultstr;}internal static class ObjectExtend{ public static object GetPropertyValue (this object obj, PropertyInfo property) { Type type = typeof(T); PropertyInfo propertyInfo = type.GetProperty(property.Name); if (propertyInfo != null) { return propertyInfo.GetMethod.Invoke(obj, null); } return null; } public static object GetDefaultValue(this PropertyInfo property) { return property.PropertyType.IsValueType ? Activator.CreateInstance(property.PropertyType) : null; }}
通过实例化参数,对属性赋值,将对象作为参数传入,反射获取对象名称,列名,列值。要求对象名与表名一致,属性与列名一致,感谢大家对的支持。
对象
参数
实例
查询
一致
属性
数据
参考
价值
内容
名称
数据库
文章
朋友
源代码
反射
帮助
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大雅相似度数据库
网络安全宣传周鹤城
本地服务器工具
专利全文数据库
手游一个服务器多少管理员
网络安全宣传周 发言
电子纸app软件开发
高中精美水粉黑板报网络安全
杭州领爱网络技术有限公司官网
张家港营销网络技术怎么样
我的世界1.8x服务器
文件服务器方案
简述计算机网络安全的定义及图标
郑州展硕网络技术服...
发改局 网络安全
软件开发设计说明模版
软件开发常用的云服务器工具
用ssh登陆数据库
国家安全 网络安全
烟台大学数据库课程
软件开发sa是
关系型数据库及相关概念
服务器不建网站还用备案吗
mpp数据库标准
走红网络安全知识
软件开发部门工作
杭州领爱网络技术有限公司官网
游戏服务器有恶意攻击
服务器uefi启动bios设置
python 监控数据库