159 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Data.SqlClient;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| 
 | |
| namespace Console_SendMail
 | |
| {
 | |
|     public static class DatabaseManager
 | |
|     {
 | |
|         public static System.Data.SqlClient.SqlConnection getCn()
 | |
|         {
 | |
|             string cs = Properties.Settings.Default.gwcs;
 | |
|             System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection();
 | |
|             cn.ConnectionString = cs;
 | |
|             return cn;
 | |
|         }
 | |
|         public static List<String> getGroupListWithoutGcode(string GroupColumn, string table, string where = "", Boolean desc = false, Boolean useColumncover = true)
 | |
|         {
 | |
|             List<string> retval = new List<string>();
 | |
|             var cn = getCn();
 | |
|             cn.Open();
 | |
|             var sql = "select {0} " +
 | |
|                 " from {1}  WITH (nolock) " +
 | |
|                 " where isnull({0},'') != '' ";
 | |
| 
 | |
|             if (table.ToUpper() == "USERS")
 | |
|                 sql = "select {0} " +
 | |
|                 " from {1}  WITH (nolock) " +
 | |
|                 " where isnull({0},'') != '' ";
 | |
| 
 | |
| 
 | |
|             if (where != "") sql += " and " + where;
 | |
| 
 | |
|             sql += " group by {0} " +
 | |
|                    " order by {0} ";
 | |
|             if (desc) sql += " desc";
 | |
| 
 | |
|             if (useColumncover)
 | |
|                 sql = string.Format(sql, "[" + GroupColumn + "]", table);
 | |
|             else
 | |
|                 sql = string.Format(sql, GroupColumn, table);
 | |
|             var cmd = new SqlCommand(sql, cn);
 | |
|             var rdr = cmd.ExecuteReader();
 | |
|             while (rdr.Read())
 | |
|             {
 | |
|                 retval.Add(rdr[0].ToString());
 | |
|             }
 | |
|             cmd.Dispose();
 | |
|             cn.Close();
 | |
|             cn.Dispose();
 | |
|             return retval;
 | |
|         }
 | |
|         public static string GetUserName(string gcode, string uid)
 | |
|         {
 | |
|             var slq = "select isnull(name,'') from vGroupUser" +
 | |
|                     $" where gcode = '{gcode}'" +
 | |
|                     $" and id = '{uid}'";
 | |
|             try
 | |
|             {
 | |
|                 return ExecuteScalar(slq);
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 return string.Empty;
 | |
|             }
 | |
| 
 | |
|         }
 | |
|         public static string GetUserTel(string gcode, string uid)
 | |
|         {
 | |
|             var slq = "select isnull(tel,'') from vGroupUser" +
 | |
|                     $" where gcode = '{gcode}'" +
 | |
|                     $" and id = '{uid}'";
 | |
|             try
 | |
|             {
 | |
|                 return ExecuteScalar(slq);
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 return string.Empty;
 | |
|             }
 | |
| 
 | |
|         }
 | |
|         public static int ExecuteNonQuery(string sql)
 | |
|         {
 | |
|             var cn = getCn();
 | |
|             cn.Open();
 | |
|             var cmd = new SqlCommand(sql, cn);
 | |
|             var retval = cmd.ExecuteNonQuery();
 | |
|             cn.Close();
 | |
|             cn.Dispose();
 | |
|             return retval;
 | |
|         }
 | |
|         public static int ExecuteScalarI(string sql)
 | |
|         {
 | |
|             var cn = getCn();
 | |
|             cn.Open();
 | |
|             var cmd = new SqlCommand(sql, cn);
 | |
|             var retval = (int)(cmd.ExecuteScalar());
 | |
|             cn.Close();
 | |
|             cn.Dispose();
 | |
|             return retval;
 | |
|         }
 | |
|         public static string ExecuteScalar(string sql)
 | |
|         {
 | |
|             var cn = getCn();
 | |
|             cn.Open();
 | |
|             var cmd = new SqlCommand(sql, cn);
 | |
|             var retval = cmd.ExecuteScalar().ToString();
 | |
|             cn.Close();
 | |
|             cn.Dispose();
 | |
|             return retval;
 | |
|         }
 | |
| 
 | |
|         public static List<String> getGroupList(string gcode, string GroupColumn, string table, string where = "", Boolean desc = false, Boolean useColumncover = true)
 | |
|         {
 | |
|             List<string> retval = new List<string>();
 | |
|             var cn = getCn();
 | |
|             cn.Open();
 | |
|             var sql = "select {0} " +
 | |
|                 " from {1}  WITH (nolock) " +
 | |
|                 $" where gcode='{gcode}' and isnull({0},'') != '' ";
 | |
| 
 | |
|             if (table.ToUpper() == "USERS")
 | |
|                 sql = "select {0} " +
 | |
|                 " from {1}   WITH (nolock) " +
 | |
|                 " where isnull({0},'') != '' ";
 | |
| 
 | |
| 
 | |
|             if (where != "") sql += " and " + where;
 | |
| 
 | |
|             sql += " group by {0} " +
 | |
|                    " order by {0} ";
 | |
|             if (desc) sql += " desc";
 | |
| 
 | |
|             if (useColumncover)
 | |
|                 sql = string.Format(sql, "[" + GroupColumn + "]", table);
 | |
|             else
 | |
|                 sql = string.Format(sql, GroupColumn, table);
 | |
|             var cmd = new SqlCommand(sql, cn);
 | |
|             var rdr = cmd.ExecuteReader();
 | |
|             while (rdr.Read())
 | |
|             {
 | |
|                 retval.Add(rdr[0].ToString());
 | |
|             }
 | |
|             cmd.Dispose();
 | |
|             cn.Close();
 | |
|             cn.Dispose();
 | |
|             return retval;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public static List<String> getDateList(string table,string where="")
 | |
|         {
 | |
|             return getGroupList("pdate", table,where);
 | |
|         }
 | |
|     }
 | |
| }
 | 
