Advertisement
Ortund

Untitled

Jun 12th, 2013
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.68 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Web;
  7. using MySql.Data.MySqlClient;
  8.  
  9. namespace stman
  10. {
  11.     public class Database : IDisposable
  12.     {
  13.         #region "Properties"
  14.         public string sql { get; protected set; }
  15.         public CommandType cType { get; protected set; }
  16.         public List<MySqlParameter> args { get; protected set; }
  17.         public string rValue { get; protected set; }
  18.  
  19.         private MySqlConnection conn;
  20.  
  21.         private string server = "127.0.0.1";
  22.         private string database = "stman";
  23.         private string user = "root";
  24.         private string password = "root";
  25.         #endregion
  26.  
  27.         #region "Constructor Logic"
  28.             public Database(string CommandText, CommandType CommandType, List<MySqlParameter> Parameters, string ReturnParameter = "")
  29.             {
  30.                 buildConnection();
  31.  
  32.                 sql = CommandText;
  33.                 cType = CommandType;
  34.                 args = Parameters;
  35.                 rValue = ReturnParameter;
  36.             }
  37.  
  38.             public Database(string CommandText, CommandType CommandType)
  39.             {
  40.                 buildConnection();
  41.  
  42.                 sql = CommandText;
  43.                 cType = CommandType;
  44.             }
  45.  
  46.             private void buildConnection()
  47.             {
  48.                 StringBuilder sb = new StringBuilder();
  49.                 sb.Append(String.Format("data source={0}; initial catalog={1}; user id={2}; password={3};", server, database, user, password));
  50.  
  51.                 conn = new MySqlConnection(sb.ToString());
  52.             }
  53.         #endregion
  54.  
  55.         public MySqlDataReader GetReader()
  56.         {
  57.             MySqlDataReader dr;
  58.  
  59.             using (MySqlCommand cmd = new MySqlCommand(sql, conn))
  60.             {
  61.                 if (args.Count > 0)
  62.                 {
  63.                     cmd.Parameters.AddRange(args.ToArray());
  64.                 }
  65.  
  66.                 dr = cmd.ExecuteReader();
  67.             }
  68.  
  69.             return dr;
  70.         }
  71.  
  72.         public DataTable GetDataTable()
  73.         {
  74.             DataTable dt = new DataTable();
  75.             MySqlDataAdapter da = new MySqlDataAdapter();
  76.  
  77.             using (MySqlCommand cmd = new MySqlCommand(sql, conn))
  78.             {
  79.                 if (args.Count > 0)
  80.                 {
  81.                     cmd.Parameters.AddRange(args.ToArray());
  82.                 }
  83.  
  84.                 da.SelectCommand = cmd;
  85.                 da.Fill(dt);
  86.             }
  87.  
  88.             if (dt.Rows.Count > 0)
  89.             {
  90.                 return dt;
  91.             }
  92.             else
  93.             {
  94.                 return null;
  95.             }
  96.         }
  97.  
  98.         public object GetOutputParameter()
  99.         {
  100.             MySqlCommand cmd = new MySqlCommand(sql, conn);
  101.  
  102.             if (args.Count > 0)
  103.             {
  104.                 cmd.Parameters.Add(args.ToArray());
  105.             }
  106.  
  107.             conn.Open();
  108.             cmd.ExecuteNonQuery();
  109.             conn.Close();
  110.  
  111.             return cmd.Parameters[rValue].Value;
  112.         }
  113.  
  114.         public void ExecuteQuery()
  115.         {
  116.             MySqlCommand cmd = new MySqlCommand(sql, conn);
  117.  
  118.             if (args.Count > 0)
  119.             {
  120.                 cmd.Parameters.Add(args.ToArray());
  121.             }
  122.  
  123.             conn.Open();
  124.             cmd.ExecuteNonQuery();
  125.             conn.Close();
  126.         }
  127.  
  128.         public void Dispose()
  129.         {
  130.             sql = String.Empty;
  131.             cType = CommandType.StoredProcedure;
  132.             args.Clear();
  133.             rValue = String.Empty;
  134.  
  135.             conn.Close();
  136.             conn = null;
  137.             GC.Collect();
  138.         }
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement