コード例 #1
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        static void DoDatabaseCall(ParameterisedQuery query, string sql, bool createDB,
                                   DataTable results, ReaderCallback callback, params object[] args)
        {
            BindParams(query, args);
            string    connString = Backend.ConnectionString;
            Exception e          = null;

            for (int i = 0; i < 10; i++)
            {
                try {
                    if (callback != null)
                    {
                        query.ExecuteReader(sql, connString, callback);
                    }
                    else if (results == null)
                    {
                        query.Execute(sql, connString, createDB);
                    }
                    else
                    {
                        query.Fill(sql, connString, results);
                    }

                    query.ClearParams();
                    return;
                } catch (Exception ex) {
                    e = ex; // try yet again
                }
            }

            File.AppendAllText("MySQL_error.log", DateTime.Now + " " + sql + "\r\n");
            Server.ErrorLog(e);
        }
コード例 #2
0
            public static DataTable fillData(ParameterisedQuery query, string queryString, bool skipError = false)
            {
                using (DataTable results = new DataTable("toReturn")) {
                    Exception e = null;
                    for (int i = 0; i < 10; i++)
                    {
                        try {
                            query.Fill(queryString, results);
                            query.ClearParams();
                            return(results);
                        } catch (Exception ex) {
                            e = ex; // try yet again
                        }
                    }

                    if (skipError)
                    {
                        return(results);
                    }
                    File.AppendAllText("MySQL_error.log", DateTime.Now + " " + queryString + "\r\n");
                    Server.ErrorLog(e);
                    query.ClearParams();
                    return(results);
                }
            }
コード例 #3
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
 internal static DataTable Fill(ParameterisedQuery query, string sql, params object[] args)
 {
     using (DataTable results = new DataTable("toReturn")) {
         DoDatabaseCall(query, sql, false, results, null, args);
         return(results);
     }
 }
コード例 #4
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
 static void BindParams(ParameterisedQuery query, object[] args)
 {
     if (args == null || args.Length == 0)
     {
         return;
     }
     string[] names = GetParamNames(args.Length);
     for (int i = 0; i < args.Length; i++)
     {
         query.AddParam(names[i], args[i]);
     }
 }
コード例 #5
0
            public static void executeQuery(ParameterisedQuery query, string queryString, bool createDB = false)
            {
                Exception e = null;

                for (int i = 0; i < 10; i++)
                {
                    try {
                        query.Execute(queryString, createDB);
                        query.ClearParams();
                        return;
                    } catch (Exception ex) {
                        e = ex; // try yet again
                    }
                }

                File.AppendAllText("MySQL_error.log", DateTime.Now + " " + queryString + "\r\n");
                Server.ErrorLog(e);
                query.ClearParams();
            }
コード例 #6
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
 internal static void Execute(ParameterisedQuery query, string sql, bool createDB, params object[] args)
 {
     DoDatabaseCall(query, sql, createDB, null, null, args);
 }
コード例 #7
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static DataTable Fill(string sql, params object[] args)
        {
            ParameterisedQuery query = Backend.CreateParameterised();

            return(Fill(query, sql, args));
        }
コード例 #8
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static DataTable Fill(string sql)
        {
            ParameterisedQuery query = Backend.GetStaticParameterised();

            return(Fill(query, sql, null));
        }
コード例 #9
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static DataTable fillData(string sql, bool skipError = false)
        {
            ParameterisedQuery query = Backend.GetStaticParameterised();

            return(Fill(query, sql, null));
        }
コード例 #10
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static void ExecuteReader(string sql, ReaderCallback callback, params object[] args)
        {
            ParameterisedQuery query = Backend.CreateParameterised();

            DoDatabaseCall(query, sql, false, null, callback, args);
        }
コード例 #11
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static void Execute(string sql, params object[] args)
        {
            ParameterisedQuery query = Backend.CreateParameterised();

            Execute(query, sql, false, args);
        }
コード例 #12
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static void Execute(string sql)
        {
            ParameterisedQuery query = Backend.GetStaticParameterised();

            Execute(query, sql, false, null);
        }
コード例 #13
0
ファイル: Database.cs プロジェクト: Benedani/MCGalaxy
        public static void executeQuery(string sql, bool createDB = false)
        {
            ParameterisedQuery query = Backend.GetStaticParameterised();

            Execute(query, sql, createDB, null);
        }
コード例 #14
0
ファイル: MySQL.cs プロジェクト: Benedani/MCGalaxy
        public override void CreateDatabase()
        {
            ParameterisedQuery query = GetStaticParameterised();

            Database.Execute(query, "CREATE DATABASE if not exists `" + Server.MySQLDatabaseName + "`", true);
        }