SQLHelper.cs
1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Linq; 6 using System.Reflection; 7 using System.Text; 8 using System.Threading.Tasks; 9 10 namespace DataBaseUility 11 { 12 /// <summary> 13 /// 数据库使用公共类 14 /// </summary> 15 public class SQLHelper 16 { 17 public static string Connection 18 { 19 get 20 { 21 return "Data Source=.;Database=ShortMessage;Integrated Security=true"; 22 } 23 } 24 25 /// <summary> 26 /// 增删改数据 27 /// </summary> 28 /// <param name="strSql"></param> 29 /// <returns></returns> 30 public static bool Processing(string strSql) 31 { 32 using (SqlConnection sqlCon = new SqlConnection(Connection)) 33 { 34 sqlCon.Open(); 35 SqlCommand sqlCom = new SqlCommand(strSql, sqlCon); 36 if (sqlCom.ExecuteNonQuery() > 0) 37 { 38 return true; 39 } 40 return false; 41 } 42 } 43 44 /// <summary> 45 /// 指定条件查询,返回实体集合 46 /// </summary> 47 /// <returns></returns> 48 public static List<T> GetTabaleValue<T>(string strSql) 49 where T : class,new() 50 { 51 using (SqlConnection sqlCon = new SqlConnection(DatabaseCommon.Connection)) 52 { 53 sqlCon.Open(); 54 SqlDataAdapter sqlDA = new SqlDataAdapter(strSql, sqlCon); 55 DataTable dt = new DataTable(); 56 sqlDA.Fill(dt); 57 List<T> config = DTToModel<T>(dt); 58 return config; 59 } 60 } 61 62 /// <summary> 63 /// 数据表转换为实体 64 /// </summary> 65 /// <typeparam name="T"></typeparam> 66 /// <param name="dt"></param> 67 /// <returns></returns> 68 public static List<T> DTToModel<T>(DataTable dt) where T : class,new() 69 { 70 Type type = typeof(T); 71 PropertyInfo[] files = type.GetProperties(); 72 List<T> list = new List<T>(); 73 foreach (DataRow dr in dt.Rows) 74 { 75 T model = new T(); 76 for (int i = 0; i < files.Count(); i++) 77 { 78 files[i].SetValue(model, dr[i]); 79 } 80 list.Add(model); 81 } 82 return list; 83 } 84 } 85 86 }