Интегрирование данных переменной
Обычно в операторах SQL используются порождаемые сценарием данные, а не строковые или числовые константы. В этом случае сценарий должен создать соответствующий оператор SELECT, соединяя фиксированную часть оператора SELECT с переменными данными:
SQLString = "SELECT * FROM Customers WHERE State = '$TheState'"
Если переменная TheState имеет значение "GA", то SQLString будет содержать оператор SQL:
SQLString = "SELECT * FROM Customers WHERE State = 'GA'"
Отметим, что апострофы, включенные в литеральные текстовые строки, окружают переменную, так что значение TheState равное "GA" интерпретируется как строка ('GA') в операторе SELECT.
При извлечении числовых данных апострофы не требуются:
SQLString = "SELECT * FROM Customers WHERE Age = $TheAge"
Значение переменной TheAge добавляется в конце литеральной строки, создавая оператор SELECT следующего вида:
SQLString = "SELECT * FROM Customers WHERE Age = 30"
При создании операторов, включающих дату, переменная должна быть заключена в специальные символы "#":
SQLString = "SELECT * FROM Orders WHERE OrderDate = #$TheDate#"
Получающая строка в переменной SQLString представляет оператор SELECT следующего вида:
SQLString = "SELECT * FROM Orders WHERE OrderDate = #07/15/04#"
Поэтому как общее правило, операторы SQL SELECT для трех типов данных имеют следующие общие конструкции:
SQLString = "SELECT * FROM Table WHERE StringField = '$StringVariable'" "SELECT * FROM Table WHERE NumericField = $NumericVariable "SELECT * FROM Table WHERE DateField = #$DateVariable#"