private DbConnectionSetting LoadCurrentDbSetting() { var res = new DbConnectionSetting(); res.Load(); return(res); }
/// <summary>IDbAccessHelperを生成します。</summary> /// <param name="setting">DBの接続設定を表すDbConnectionSetting。</param> /// <param name="targetNumber">接続先DBの番号を表すint?。</param> /// <returns>DBへアクセスするためのIDbAccessHelper。</returns> public static IDbAccessHelper CreateHelper(DbConnectionSetting setting, int?targetNumber) { int?num = targetNumber; if (!num.HasValue) { num = setting.TargetNumber; } var info = setting.ConnectInformations.Find(c => c.Number == num); if (info == null) { return(null); } switch (info.DbType) { case DatabaseType.SQLite: return(new SQlite.SqliteAccessHelper(info)); case DatabaseType.None: default: break; } return(null); }
/// <summary> /// 接続文字列を設定します。 /// </summary> /// <param name="connectionString">接続文字列</param> public static void SetConnectionString(string connectionString) { if (This.ConnectionString != null) { throw new InvalidOperationException("接続文字列はすでに設定されています。"); } if (connectionString == null) { throw new ArgumentNullException("connectionString"); } This.ConnectionString = connectionString; This.Setting = DbConnectionSetting.From(connectionString); }
private void onCreateDbConnectSetting() { var connectInfo = new DbConnectInformation() { DataSource = @"{exePath}\Settings\ImaZipWorkData.sqlite3", DbType = DatabaseType.SQLite, Number = 0 }; var setting = new DbConnectionSetting() { TargetNumber = 0 }; setting.ConnectInformations.Add(connectInfo); SerializeUtility.SerializeToFile <DbConnectionSetting>(@"D:\MyDocuments\GitHubRepositories\WpfMvvmLabo\ImaZipperProto\ImaZipCoreProto01\bin\Debug\netcoreapp3.0\Settings\DbConnectSetting.xml", setting); MessageBox.Show("保存!"); }
/// <summary> /// 接続を初期化します。 /// </summary> private void initializeConnection(DbConnectSettingLoaderBase loader) { if (connectionSetting == null) { DbConnectSettingLoaderBase settingLoader = loader ?? new DbConnectSettingLoaderBase(); // キャッシュされていない場合は接続設定ファイルを読み込む connectionSetting = settingLoader.Load() ?? throw new Exception("DBの接続設定ファイルがLoadできません。"); } // 接続する設定ファイル番号を取得 int?num = this.getConnectionNumber(); if (!num.HasValue) { helper ??= DbAccessHelperFactory.CreateHelper(connectionSetting, num); } this.Connection = helper.GetConnection(); }