Exemplo n.º 1
0
 public static void Close()
 {
     if (DlqMysql.SQL != IntPtr.Zero)
     {
         DlqMysql.mysql_close(DlqMysql.SQL);
     }
     DlqMysql.IsConnected = false;
 }
Exemplo n.º 2
0
 public static void Disconnect()
 {
     if (!(DlqMysql.SQL == IntPtr.Zero))
     {
         DlqMysql.QueueThread = null;
         DlqMysql.mysql_close(DlqMysql.SQL);
         DlqMysql.IsConnected = false;
     }
 }
Exemplo n.º 3
0
 private static void ProcessQueue()
 {
     if (DlqMysql.QueueThread != null)
     {
         if (DlqMysql.Queue.Count > 0 && DlqMysql.IsReady && DlqMysql.Query(DlqMysql.Queue[0], true) != null)
         {
             DlqMysql.Queue.RemoveAt(0);
         }
     }
 }
Exemplo n.º 4
0
    public static string Error()
    {
        string result;

        if (DlqMysql.SQL == IntPtr.Zero)
        {
            result = null;
        }
        else
        {
            result = Marshal.PtrToStringAnsi(DlqMysql.mysql_error(DlqMysql.SQL));
        }
        return(result);
    }
Exemplo n.º 5
0
    public static string GetCharacterSet()
    {
        string result;

        if (DlqMysql.SQL == IntPtr.Zero)
        {
            result = null;
        }
        else
        {
            result = Marshal.PtrToStringAnsi(DlqMysql.mysql_character_set_name(DlqMysql.SQL));
        }
        return(result);
    }
Exemplo n.º 6
0
    public static bool Initialize()
    {
        DlqMysql.SQL = DlqMysql.mysql_init(IntPtr.Zero);
        bool result;

        if (DlqMysql.Initialized = (DlqMysql.SQL != IntPtr.Zero))
        {
            DlqMysql.VersionId = DlqMysql.mysql_get_client_version();
            DlqMysql.Version   = new Version(DlqMysql.mysql_get_client_version().ToString("#-##-##").Replace("-", "."));
            if (DlqMysql.VersionId < DlqMysql.MinVersion || DlqMysql.VersionId > DlqMysql.MaxVersion)
            {
                result = (DlqMysql.Initialized = false);
                return(result);
            }
        }
        result = DlqMysql.Initialized;
        return(result);
    }
Exemplo n.º 7
0
    public static bool Connect()
    {
        bool result;

        if (!DlqMysql.Initialized || DlqMysql.SQL == IntPtr.Zero)
        {
            result = false;
        }
        else if (DlqMysql.mysql_real_connect(DlqMysql.SQL, DlqMysql.HostName, DlqMysql.Username, DlqMysql.Password, DlqMysql.Database, DlqMysql.HostPort, DlqMysql.UnixSocket, DlqMysql.ConnectFlags) == IntPtr.Zero)
        {
            result = false;
        }
        else
        {
            DlqMysql.ServerVersion = new Version(DlqMysql.mysql_get_server_version(DlqMysql.SQL).ToString("#-##-##").Replace("-", "."));
            result = (DlqMysql.IsReady = true);
        }
        return(result);
    }
Exemplo n.º 8
0
    public static List <string> Databases(string wild = null)
    {
        IntPtr        intPtr = DlqMysql.mysql_list_dbs(DlqMysql.SQL, wild);
        List <string> result;

        if (intPtr == IntPtr.Zero)
        {
            result = null;
        }
        else
        {
            List <string> list = new List <string>();
            for (ulong num = 0uL; num < DlqMysql.mysql_num_rows(intPtr); num += 1uL)
            {
                IntPtr ptr = DlqMysql.mysql_fetch_row(intPtr);
                list.Add(Marshal.PtrToStringAnsi(Marshal.ReadIntPtr(ptr)));
            }
            result = list;
        }
        return(result);
    }
Exemplo n.º 9
0
 public static bool Connect(string host, string username, string password, string db_name, uint port, string unix_socket = null, DlqMysql.ClientFlags flags = (DlqMysql.ClientFlags) 0uL)
 {
     if (!DlqMysql.Initialized)
     {
         DlqMysql.Initialize();
     }
     DlqMysql.HostName     = host;
     DlqMysql.HostPort     = port;
     DlqMysql.Username     = username;
     DlqMysql.Password     = password;
     DlqMysql.Database     = db_name;
     DlqMysql.UnixSocket   = unix_socket;
     DlqMysql.ConnectFlags = (int)(flags | DlqMysql.ClientFlags.CLIENT_MULTI_STATEMENTS);
     DlqMysql.mysql_options(DlqMysql.SQL, DlqMysql.MySqlOption.MYSQL_OPT_CONNECT_TIMEOUT, Marshal.StringToCoTaskMemAnsi(DlqMysql.ConnectTimeout.ToString()));
     DlqMysql.mysql_options(DlqMysql.SQL, DlqMysql.MySqlOption.MYSQL_OPT_RECONNECT, Marshal.StringToCoTaskMemAnsi(DlqMysql.Reconnect ? "1" : "0"));
     if (DlqMysql.Charset.Equals("UTF8", StringComparison.OrdinalIgnoreCase))
     {
         DlqMysql.mysql_options(DlqMysql.SQL, DlqMysql.MySqlOption.MYSQL_SET_CHARSET_NAME, Marshal.StringToCoTaskMemAnsi(DlqMysql.Charset));
         DlqMysql.mysql_options(DlqMysql.SQL, DlqMysql.MySqlOption.MYSQL_INIT_COMMAND, Marshal.StringToCoTaskMemAnsi("SET NAMES utf8"));
     }
     return(DlqMysql.Connect());
 }
Exemplo n.º 10
0
 public static void Update(string query)
 {
     if (DlqMysql.IsReady)
     {
         try
         {
             DlqMysql.IsReady = false;
             int num;
             if (Core.MySQL_UTF8)
             {
                 num = DlqMysql.mysql_query(DlqMysql.SQL, query);
             }
             else
             {
                 num = DlqMysql.mysql_real_query(DlqMysql.SQL, query, query.Length);
             }
             if (DlqMysql.LogLevel > DlqMysql.LogLevelType.ERRORS)
             {
                 Helper.LogSQL(query, false);
             }
             if (num != 0 || DlqMysql.ErrorCode != 0u)
             {
                 if (DlqMysql.LogLevel > DlqMysql.LogLevelType.NONE)
                 {
                     Helper.LogSQLError(DlqMysql.Error(), true);
                 }
                 DlqMysql.mysql_ping(DlqMysql.SQL);
                 DlqMysql.IsReady = true;
                 return;
             }
         }
         catch (Exception ex)
         {
             Helper.LogSQLError(query, false);
             Helper.LogSQLError(ex.Message.ToString(), true);
         }
         DlqMysql.IsReady = true;
     }
 }
Exemplo n.º 11
0
 public static bool SelectDB(string db_name)
 {
     return(DlqMysql.Initialized && !(DlqMysql.SQL == IntPtr.Zero) && DlqMysql.mysql_select_db(DlqMysql.SQL, db_name) == 0);
 }
Exemplo n.º 12
0
 public static DlqMysql.Result Query(string query, bool skip = false)
 {
     DlqMysql.Result result = null;
     DlqMysql.Result result3;
     try
     {
         if (!DlqMysql.IsReady && skip)
         {
             DlqMysql.Result result2 = result;
             result3 = result2;
             return(result3);
         }
         DlqMysql.IsReady = false;
         int num;
         if (Core.MySQL_UTF8)
         {
             num = DlqMysql.mysql_query(DlqMysql.SQL, query);
         }
         else
         {
             num = DlqMysql.mysql_real_query(DlqMysql.SQL, query, query.Length);
         }
         if (num != 0 || DlqMysql.ErrorCode != 0u)
         {
             if (DlqMysql.LogLevel > DlqMysql.LogLevelType.NONE)
             {
                 Helper.LogSQLError(DlqMysql.Error(), true);
             }
             DlqMysql.mysql_ping(DlqMysql.SQL);
             DlqMysql.IsReady = true;
             DlqMysql.Result result2 = null;
             result3 = result2;
             return(result3);
         }
         if (DlqMysql.LogLevel > DlqMysql.LogLevelType.ERRORS)
         {
             Helper.LogSQL(query, false);
         }
         IntPtr intPtr = DlqMysql.mysql_store_result(DlqMysql.SQL);
         if (DlqMysql.ErrorCode == 0u && !(intPtr == IntPtr.Zero))
         {
             result        = new DlqMysql.Result();
             result.Fields = DlqMysql.mysql_num_fields(intPtr);
             result.Rows   = DlqMysql.mysql_num_rows(intPtr);
             int num2 = 0;
             while ((long)num2 < (long)((ulong)result.Fields))
             {
                 result.Field.Add((DlqMysql.Field)Marshal.PtrToStructure(DlqMysql.mysql_fetch_field(intPtr), typeof(DlqMysql.Field)));
                 num2++;
             }
             IntPtr value;
             while ((value = DlqMysql.mysql_fetch_row(intPtr)) != IntPtr.Zero)
             {
                 result.Row.Add(new DlqMysql.Row(result, value));
             }
             DlqMysql.mysql_free_result(intPtr);
         }
         else
         {
             result = null;
         }
     }
     catch (Exception ex)
     {
         result = null;
         Helper.LogSQLError(query, false);
         Helper.LogSQLError(ex.Message.ToString(), true);
     }
     DlqMysql.IsReady = true;
     result3          = result;
     return(result3);
 }