public void AddField(string fieldname, object value, FieldType fieldtype, Type keyInitializerType, bool isChanged) { if (!_selectFields.Contains(fieldname)) { _selectFields.Add(fieldname); } if (fieldtype == FieldType.KeyField) { if (value == null) { _whereClausel.Add(string.Format("{0} IS NULL", fieldname)); } else { SqliteParameter param = DataBaseProvider.GetParameter($"@param{_parameters.Count}", value); _whereClausel.Add($"{fieldname} = {param.ParameterName}"); _parameters.Add(param); } } else if (isChanged && (fieldtype == FieldType.WriteableField || fieldtype == FieldType.UpdateableField) && !_setValues.ContainsKey(fieldname)) { if (value == null) { _setValues.Add(fieldname, "NULL"); } else { SqliteParameter param = DataBaseProvider.GetParameter($"@param{_parameters.Count}", value); _setValues.Add(fieldname, param.ParameterName); _parameters.Add(param); } } }
private DbParameter AddDbParameter(object value) { DbParameter returnValue = DataBaseProvider.GetParameter($"@param{_databaseProvider.GetUniqe()}", value); _parameters.Add(returnValue); return(returnValue); }
public void AddField(string fieldname, object value, FieldType fieldtype, Type keyInitializerType, bool isChanged) { if (fieldtype == FieldType.KeyField) { SqliteParameter param = DataBaseProvider.GetParameter($"@param{_parameters.Count}", value); _whereClausel.Add($"{fieldname} = {param.ParameterName}"); _parameters.Add(param); } }
public void AddField(string fieldname, object value, FieldType fieldtype, Type keyInitializerType, bool isChanged) { if (!_selectFields.Contains(fieldname)) { _selectFields.Add(fieldname); } if (_insertFields.Contains(fieldname)) { return; } if (fieldtype == FieldType.KeyField) { KeyInitializer keyInitializer = keyInitializerType != null?KeyInitializer.GetInitializer(keyInitializerType) : null; if (keyInitializer == null || !keyInitializer.CheckEmpty(value)) { SqliteParameter param = DataBaseProvider.GetParameter($"@param{_parameters.Count}", value); _insertFields.Add(fieldname); _insertValues.Add(param.ParameterName); _whereClausel.Add(string.Format("{0} = {1}", param.ParameterName, fieldname)); _parameters.Add(param); } else { _whereClausel.Add(keyInitializer.GetWhereClause(fieldname, _tablename)); } } else if (fieldtype == FieldType.WriteableField || fieldtype == FieldType.InsertableField) { if (value == null) { _insertFields.Add(fieldname); _insertValues.Add("NULL"); } else { SqliteParameter param = DataBaseProvider.GetParameter($"@param{_parameters.Count}", value); _insertFields.Add(fieldname); _insertValues.Add(param.ParameterName); _parameters.Add(param); } } }