Это зависит от того, какой тип запроса вы используете: либо с помощью встроенного механизма SQL, который запрашивает собственные таблицы FoxPro, либо от запроса с использованием внешнего источника данных.
Во-первых, в случае нативного запроса это действительно просто. Поскольку это нативная инструкция FoxPro, вы можете получить доступ ко всем функциям, включая переменные, куда вы можете просто поместить данные, предоставленные пользователем, без забот:
LOCAL data &&This could come from user input
data = "hello world"
SELECT * FROM SomeTable WHERE Column = data &&Filtered parametrized query
Другой вариант - отправить запрос SQL для обработки на внешний сервер, где запрос отправляется в виде текстовой строки. В этом случае можно использовать специальные маркеры для параметров, соответствующие переменным FoxPro, что, в свою очередь, приведет к параметризованному запросу, отправленному на сервер:
LOCAL data
data = "hello world"
LOCAL hConn = SQLSTRINGCONNECT(connectionString)
SQLEXEC(hConn, "SELECT * FROM SomeTable WHERE Column = ?data", "SomeTable") &&The "?data" parametrizes the query, sending the value separate from the query itself
SQLDISCONNECT(hConn)