麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL通過實例化對象參數查詢實例講解

2024-07-25 19:09:09
字體:
來源:轉載
供稿:網友

本篇文章給大家帶來的內容是關于MySQL如何通過實例化對象參數查詢數據 ?(源代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

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;  }}

通過實例化參數,對屬性賦值,將對象作為參數傳入,反射獲取對象名稱,列名,列值。要求對象名與表名一致,屬性與列名一致,感謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩在线激情 | 亚洲精品欧美在线 | 91黄瓜视频 | 日韩精品中文字幕在线观看 | 激情影院在线观看 | 国产精品久久久久久久久久10秀 | 主播粉嫩国产在线精品 | 亚洲欧美日韩在线 | 欧美成人精品一区二区 | 欧美a视频 | 久久久久久亚洲综合影院红桃 | 性猛aa久久久 | 成人福利视频导航 | 国产正在播放 | 免费国产自久久久久三四区久久 | 久久久久久亚洲综合影院红桃 | 国产午夜探花 | 最新欧美精品一区二区三区 | 黄网站免费在线看 | 双性帝王调教跪撅打屁股 | 亚洲精品成人18久久久久 | 91久久另类重口变态 | 一区二区三区无码高清视频 | 精品国产一区二区三区四区阿崩 | 亚州综合图片 | 精选久久| caoporn国产一区二区 | 黄色特级 | 在线视频观看成人 | 欧美黄色一级片视频 | 久色精品 | 麻豆视频国产在线观看 | 蜜桃91麻豆| 久久精品国产久精国产 | 九九热精品在线视频 | 免费观看黄色一级视频 | xvideos korean| 国产精品久久久久久影院8一贰佰 | 国产在线一级视频 | 国产精品视频一区二区三区四区国 | 色999国产 |