Вы должны использовать конструктор запросов gorm и передавать параметры в аргументах: Where(query interface{}, args ...interface{}) *DB
. Этого будет достаточно. Так как приведенные выше методы gorm изменяют внутреннее состояние создаваемого вами SQL-запроса, можно написать код, подобный этому:
var usersMasterList []UsersMaster // gorm Model
if filterBy != "all" {
controller.database.Where("role = ?", filterBy)
}
if searchBy != "" {
controller.database.Or("name ilike ?", search)
controller.database.Or("email ilike ?", search)
//...
}
//...
controller.database.Find(&usersMasterList)
Код не проверен. Вы можете прочитать больше здесь: http://gorm.io/docs/query.html
Или вы можете просто отфильтровать не алфавитно-цифровые символы из этих строк с помощью регулярного выражения:
[ 111]
Настоятельно рекомендуем переписать ваш код как можно скорее, код будет более безопасным и читабельным.
Не забудьте голосовать за поддержку SOAP 1.2 на королевском адвокате codegear:
http://qc.codegear.com/wc/qcmain.aspx?d=66864
В настоящее время это проголосовало за отчет № 2 за Delphi (после того, как 64 бита будут поддерживать). Я действительно уверен, что CodeGear не собирается игнорировать это.
Я предлагаю, чтобы Вы вырыли в источник. С Delphi 7 я смог добавить все виды отдельно оплачиваемых предметов путем копирования кода SOAP в папку моего приложения и редактирования его тщательно. В одном случае я сделал некоторую обработку строк для корректировки входящего пакета SOAP, чтобы заставить его работать со способом, которым работал Delphi. Я еще не должен был делать этого с RemObjects, но Вы действительно получаете источник для этого также. Плюс у них есть активные группы новостей, на которых можно задать вопросы.
В некоторых случаях мне было намного проще написать прокси-службу SOAP на C # и VS и использовать ее из Delphi с упрощенным описанием службы (WSDL). В долгосрочной перспективе это было наиболее эффективное решение без каких-либо проблем со стабильностью или производительностью. Поддержка SOAP в Delphi не является одним из ее основных моментов.
Последующие действия. Это было реализовано в Delphi 2010.