/// <summary> /// メソッド(検索条件を取得する) /// </summary> /// <returns></returns> private List <ConditionsRecordDefine> FetchConditions() { var conditions = new List <ConditionsRecordDefine>(); var dataGridView = this.dgvConditions; if (dataGridView.Rows.Count == 0) { return(conditions); } foreach (DataGridViewRow dataGridViewRow in dataGridView.Rows) { var recordDefine = new ConditionsRecordDefine(); recordDefine.ColumnName = Convert.ToString(dataGridViewRow.Cells[COLUMN_INDEX_NAME].Value); recordDefine.Operator = Convert.ToString(dataGridViewRow.Cells[COLUMN_INDEX_OPERATOR].Value); recordDefine.SearchValue = Convert.ToString(dataGridViewRow.Cells[COLUMN_INDEX_VALUE].Value); if (recordDefine.Operator == FUZZY_SEACH_OPERATOR || recordDefine.Operator == NOT_FUZZY_SEACH_OPERATOR) { recordDefine.SearchValue = "%" + recordDefine.SearchValue + "%"; } if (recordDefine.Operator != System.String.Empty && recordDefine.SearchValue != System.String.Empty) { conditions.Add(recordDefine); } } return(conditions); }
/// <summary> /// メソッド(SQLコマンドテキスト作成) /// </summary> /// <param name="sqlCommand"></param> /// <returns></returns> private string BuildSqlCommandText(SQLiteCommand sqlCommand) { var stringBuilder = new StringBuilder(); stringBuilder.Append("select "); stringBuilder.Append("* "); stringBuilder.Append("from " + this.TableName); if (this.Conditions.Count > 0) { for (var i = 0; i <= this.Conditions.Count - 1; i++) { var recordDefine = new ConditionsRecordDefine(); recordDefine = this.Conditions[i]; stringBuilder.Append((i == 0) ? " where ": AndOr); stringBuilder.Append(recordDefine.ColumnName + " " + recordDefine.Operator + " @" + Convert.ToString(i)); sqlCommand.Parameters.Add(new SQLiteParameter("@" + Convert.ToString(i), recordDefine.SearchValue)); } } return(Convert.ToString(stringBuilder)); }