private bool InitDatabaseList(SqlAccessor sqlAccessor) { cmbDataBase.Items.Clear(); if (!sqlAccessor.TryConnect()) { return(false); } List <string> dbs = sqlAccessor.GetDatabases(); cmbDataBase.Items.AddRange(dbs.ToArray()); return(true); }
private async void InitDatabaseListAsync(SqlAccessor sqlAccessor) { cmbDataBase.Items.Clear(); List <string> dbs = await Task.Run(() => { if (!sqlAccessor.TryConnect()) { return(null); } return(sqlAccessor.GetDatabases()); }); if (dbs == null) { return; } cmbDataBase.Items.AddRange(dbs.ToArray()); }
/// <summary> /// DB接続入力情報をチェックする /// </summary> private bool ValidDatabase() { //Serverが未入力の場合 if (string.IsNullOrEmpty(this.txtSqlServer.Text)) { RSM.ShowMessage(this, RS.Exclamations.NotServer); FocusControl(this.txtSqlServer); return(false); } if (this.cmbAuthMode.SelectedItem == null) { RSM.ShowMessage(this, RS.Exclamations.NotAuthMode); FocusControl(this.cmbAuthMode); return(false); } AuthenticateMode mode = ((ListItem <AuthenticateMode>) this.cmbAuthMode.SelectedItem).Value; if (mode == AuthenticateMode.SqlServer) { //DB UserIDが未入力の場合 if (string.IsNullOrEmpty(this.txtDbUserId.Text)) { RSM.ShowMessage(this, RS.Exclamations.NotDBUserID); FocusControl(this.txtDbUserId); return(false); } //DB Passwordが未入力の場合 if (string.IsNullOrEmpty(this.txtDBPassword.Text)) { RSM.ShowMessage(this, RS.Exclamations.NotDBPassword); FocusControl(this.txtDBPassword); return(false); } } string database = ""; if (cmbDataBase.SelectedItem != null) { database = (string)cmbDataBase.SelectedItem; } if (string.IsNullOrEmpty(database)) { RSM.ShowMessage(this, RS.Exclamations.NotDataBase); return(false); } string server = this.txtSqlServer.Text; string userId = this.txtDbUserId.Text; string psw = this.txtDBPassword.Text; //SQL Serve接続テスト using (SqlAccessor sqlAccessor = Accessor.AccessorFactory.GetSqlAccessor(mode, server, userId, psw, database)) { if (!sqlAccessor.TryConnect()) { RSM.ShowMessage(this, RS.Exclamations.DbConnectFailed); FocusControl(this.txtSqlServer); return(false); } } return(true); }