/// <summary> /// Create a new database connection object and return a handle to it. /// </summary> /// <param name="ConnectionString">Supplies the connection string. /// </param> /// <param name="Flags">Supplies control flags.</param> /// <returns>The connection handle.</returns> public static int CreateScriptDatabaseConnection(string ConnectionString, ScriptDatabaseConnectionFlags Flags) { int Handle; ScriptDatabaseConnection Connection; if (Flags.HasFlag(ScriptDatabaseConnectionFlags.StandardConnection)) { Handle = 0; if (StandardConnection == null) { ConnectionString = GetStandardDatabaseConnectionString(); Connection = new ScriptDatabaseConnection(ConnectionString, Flags); StandardConnection = Connection; ModuleLinkage.DefaultDatabase = StandardConnection.Database; ConnectionTable.Add(Handle, Connection); } } else { Connection = new ScriptDatabaseConnection(ConnectionString, Flags); Handle = ++NextConnectionHandle; if (Handle == 0) { Handle = ++NextConnectionHandle; } ConnectionTable.Add(Handle, Connection); } if (Flags.HasFlag(ScriptDatabaseConnectionFlags.StandardQueryLog) && StandardQueryLogger == null) { try { StandardQueryLogger = new StreamWriter(ALFA.SystemInfo.GetNWNX4InstallationDirectory() + "StandardQueryLog.txt"); } catch (Exception e) { Logger.Log("ScriptDatabaseConnection.CreateScriptDatabaseConnection: Couldn't open standard query log (StandardQueryLog.txt in NWNX4 directory): Exception: {0}", e); } } return(Handle); }
/// <summary> /// Create a new database connection object and return a handle to it. /// </summary> /// <param name="ConnectionString">Supplies the connection string. /// </param> /// <param name="Flags">Supplies control flags.</param> /// <returns>The connection handle.</returns> public static int CreateScriptDatabaseConnection(string ConnectionString, ScriptDatabaseConnectionFlags Flags) { int Handle; ScriptDatabaseConnection Connection; if (Flags.HasFlag(ScriptDatabaseConnectionFlags.StandardConnection)) { Handle = 0; if (StandardConnection == null) { ConnectionString = GetStandardDatabaseConnectionString(); Connection = new ScriptDatabaseConnection(ConnectionString, Flags); StandardConnection = Connection; ModuleLinkage.DefaultDatabase = StandardConnection.Database; ConnectionTable.Add(Handle, Connection); } } else { Connection = new ScriptDatabaseConnection(ConnectionString, Flags); Handle = ++NextConnectionHandle; if (Handle == 0) Handle = ++NextConnectionHandle; ConnectionTable.Add(Handle, Connection); } if (Flags.HasFlag(ScriptDatabaseConnectionFlags.StandardQueryLog) && StandardQueryLogger == null) { try { StandardQueryLogger = new StreamWriter(ALFA.SystemInfo.GetNWNX4InstallationDirectory() + "StandardQueryLog.txt"); } catch (Exception e) { Logger.Log("ScriptDatabaseConnection.CreateScriptDatabaseConnection: Couldn't open standard query log (StandardQueryLog.txt in NWNX4 directory): Exception: {0}", e); } } return Handle; }
/// <summary> /// Create a new database connection object. /// </summary> /// <param name="ConnectionString">Supplies the connection string. /// </param> /// <param name="Flags">Supplies control flags.</param> private ScriptDatabaseConnection(string ConnectionString, ScriptDatabaseConnectionFlags Flags) { Database = new ALFA.MySQLDatabase(ConnectionString, Flags.HasFlag(ScriptDatabaseConnectionFlags.StandardConnection)); this.Flags = Flags; }