コード例 #1
0
ファイル: App.xaml.cs プロジェクト: Ondrya/Vademecum
        private DbConnectionSetting LoadCurrentDbSetting()
        {
            var res = new DbConnectionSetting();

            res.Load();
            return(res);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 /// <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);
 }
コード例 #4
0
        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("保存!");
        }
コード例 #5
0
        /// <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();
        }