下文主要給大家帶來MySQL通過實例化對象參數如何查詢數據 ,希望這些內容能夠帶給大家實際用處,這也是我編輯MySQL通過實例化對象參數如何查詢數據 這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
創新互聯公司10年專注成都高端網站建設按需定制服務,為客戶提供專業的成都網站制作,成都網頁設計,成都網站設計服務;創新互聯公司服務內容包含成都網站建設,微信小程序開發,軟件開發,網絡營銷推廣,網絡運營服務及企業形象設計;創新互聯公司擁有眾多專業的高端網站制作開發團隊,資深的高端網頁設計團隊及經驗豐富的架構師高端網站策劃團隊;我們始終堅持從客戶的角度出發,為客戶量身訂造網絡營銷方案,解決網絡營銷疑問。
public static string QueryByEntity<T>(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<T>(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<T> tList = new List<T>(); 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<T>(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; } }
通過實例化參數,對屬性賦值,將對象作為參數傳入,反射獲取對象名稱,列名,列值。要求對象名與表名一致,屬性與列名一致。
對于以上關于MySQL通過實例化對象參數如何查詢數據 ,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
當前題目:MySQL通過實例化對象參數如何查詢數據
網頁網址:http://vcdvsql.cn/article16/phodgg.html
成都網站建設公司_創新互聯,為您提供動態網站、域名注冊、標簽優化、企業建站、云服務器、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯