1.增、删、改通用方法
/// <summary> /// 增、删、改通用方法 /// </summary> /// <param name="commandText">Command对象的CommandText属性(sql语句或存储过程名称)</param> /// <param name="commandParameters">Command对象的Parameters属性(sql语句或存储过程参数)</param> /// <returns></returns> public static int ExecuteNonQuery(string commandText, NpgsqlParameter[] commandParameters) { using (NpgsqlConnection conn = new NpgsqlConnection(datalink.PsconnectionString)) { using (NpgsqlCommand cmd = new NpgsqlCommand(commandText, conn)) { cmd.Parameters.AddRange(commandParameters); conn.Open(); return cmd.ExecuteNonQuery(); } } }
2.读取1行记录
/// <summary> /// 读取1行记录 /// </summary> /// <typeparam name="T">结果集对应的Model</typeparam> /// <param name="Reader">读取结果集的SqlDataReader</param> /// <param name="commandText">Command对象的CommandText属性(sql语句或存储过程名称)</param> /// <param name="commandParameters">Command对象的Parameters属性(sql语句或存储过程参数)</param> /// <returns></returns> public static T ExecuteReader<T>(Func<NpgsqlDataReader, T> Reader, string commandText, NpgsqlParameter[] commandParameters) { T entity = default(T); using (NpgsqlConnection conn = new NpgsqlConnection(datalink.PsconnectionString)) { using (NpgsqlCommand cmd = new NpgsqlCommand(commandText, conn)) { cmd.Parameters.AddRange(commandParameters); conn.Open(); using (NpgsqlDataReader sr = cmd.ExecuteReader()) { while (sr.Read()) { entity = Reader(sr); } } } } return entity; }
3.读取n行记录
/// <summary> /// 读取n行记录 /// </summary> /// <typeparam name="T">结果集对应的Model</typeparam> /// <param name="Reader">读取结果集的SqlDataReader</param> /// <param name="commandText">Command对象的CommandText属性(sql语句或存储过程名称)</param> /// <param name="commandParameters">Command对象的Parameters属性(sql语句或存储过程参数)</param> /// <returns></returns> public static List<T> ExecuteReaderList<T>(Func<NpgsqlDataReader, T> Reader, string commandText, NpgsqlParameter[] commandParameters) { List<T> list = new List<T>(); using (NpgsqlConnection conn = new NpgsqlConnection(datalink.PsconnectionString)) { using (NpgsqlCommand cmd = new NpgsqlCommand(commandText, conn)) { cmd.Parameters.AddRange(commandParameters); conn.Open(); using (NpgsqlDataReader sr = cmd.ExecuteReader()) { while (sr.Read()) { list.Add(Reader(sr)); } } } } return list; }
4.读取第1行第1列记录
///