婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL通過實例化對象參數查詢實例講解

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

熱門標簽:電銷機器人針對的 外呼系統防封號違法嗎 如何在高德地圖標注新地址 高德地圖標注中心個人注冊 400電話辦理都選易號網 高德地圖標注模式 寶應電信400電話辦理費用 湘潭電銷機器人咨詢電話 外呼系統服務

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

public static string QueryByEntityT>(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.GetPropertyValueT>(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();
    ListT> tList = new ListT>();    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 GetPropertyValueT>(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;
  }
}

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

您可能感興趣的文章:
  • 淺談pymysql查詢語句中帶有in時傳遞參數的問題
  • 使用Limit參數優化MySQL查詢的方法
  • MySQL8.0內存相關參數總結
  • python mysql中in參數化說明
  • Python MySQLdb 執行sql語句時的參數傳遞方式
  • Python MySQL 日期時間格式化作為參數的操作
  • MYSQL配置參數優化詳解
  • MySQL性能全面優化方法參考,從CPU,文件系統選擇到mysql.cnf參數優化
  • MySQL 5.6下table_open_cache參數優化合理配置詳解
  • MySQL 參數相關概念及查詢更改方法

標簽:黃山 馬鞍山 佛山 賀州 宿遷 黔南 南充 蘭州

巨人網絡通訊聲明:本文標題《MySQL通過實例化對象參數查詢實例講解》,本文關鍵詞  MySQL,通過,實例,化,對象,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL通過實例化對象參數查詢實例講解》相關的同類信息!
  • 本頁收集關于MySQL通過實例化對象參數查詢實例講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 望奎县| 增城市| 兰西县| 明溪县| 岫岩| 郑州市| 平湖市| 彭山县| 尼木县| 兴业县| 黎川县| 阳原县| 开江县| 肥西县| 平舆县| 新河县| 佛山市| 敦煌市| 龙江县| 安化县| 蒲城县| 鄂伦春自治旗| 沙湾县| 阜阳市| 曲阜市| 外汇| 通辽市| 景东| 拜泉县| 仁寿县| 铜陵市| 安国市| 巧家县| 阿拉善右旗| 舞阳县| 宾川县| 吉安市| 辉县市| 华坪县| 襄城县| 扎兰屯市|