как получить полную строку QueryInterfaceRequest sql в grdb, включая все аргументы (GRDB.StatementArguments) в строке - PullRequest
0 голосов
/ 22 апреля 2019

Мне нужно получить полный SQL-запрос интерфейса запросов, чтобы сохранить их в пользовательских настройках по умолчанию, но я не смог найти эту функцию

обновление: чтобы получить полную строку запроса:

  1. включая аргументы, которые были обрезаны sqlite для внедрения, вы не можете заменить эти аргументы на вопросительный знак вручную.

  2. вы не можете получить реальную ценность этих аргументов, потому что они являются личными

1 Ответ

0 голосов
/ 23 апреля 2019

Как напечатать запрос в виде SQL? В разделе часто задаваемых вопросов сказано:

Вы можете превратить ваш запрос в экземпляр SQLRequest:

try dbQueue.read { db in
    let request = Wine
        .filter(Column("origin") == "Burgundy")
        .order(Column("price")

    let sqlRequest = try SQLRequest(db, request: request)
    print(sqlRequest.sql)
    // Prints SELECT * FROM wine WHERE origin = ? ORDER BY price
    print(sqlRequest.arguments)
    // Prints ["Burgundy"]
}
...