Xbasic
argument_add_array_argument Function
Syntax
V argument_add_array_argument(SQL::Arguments args ,C argName ,C argType ,C argValues )
Arguments
- argsSQL::Arguments
The object that you want to add an argument array or update an existing argument array.
- argNameCharacter
The name of the argument array to add to the args object.
- argTypeCharacter
The argument type. For example, "C" for "character" or "N" for "numeric".
- argValuesCharacter
A CR-LF delimited list of values.
Description
Adds or updates and array argument to an SQL::Arguments object. The SQL::Arguments object can be populated with argument arrays (typically used when passing values to a SQL query that uses an IN clause).
Example
dim args as SQL::Arguments dim cities as c cities = <<%txt% London Seattle Madrid %txt% argument_add_array_argument(args,"cities","C",cities) dim cn as SQL::Connection ? cn.open("::Name::AADemo-Northwind") = .T. ? cn.execute("SELECT CustomerID, CompanyName, City FROM customers WHERE City IN (:cities)",args) = .T. dim json as c json = cn.resultSet.ToJSON() ? convert_utf8_to_acp(json) = [ {"CustomerID" : "AROUT", "CompanyName" : "Around the Horn", "City" : "London"}, {"CustomerID" : "BOLID", "CompanyName" : "Bólido Comidas preparadas", "City" : "Madrid"}, {"CustomerID" : "BSBEV", "CompanyName" : "B's Beverages", "City" : "London"}, {"CustomerID" : "CONSH", "CompanyName" : "Consolidated Holdings", "City" : "London"}, {"CustomerID" : "EASTC", "CompanyName" : "Eastern Connection", "City" : "London"}, {"CustomerID" : "FISSA", "CompanyName" : "FISSA Fabrica Inter. Salchichas S.A.", "City" : "Madrid"}, {"CustomerID" : "NORTS", "CompanyName" : "North\/South", "City" : "London"}, {"CustomerID" : "ROMEY", "CompanyName" : "Romero y tomillo", "City" : "Madrid"}, {"CustomerID" : "SEVES", "CompanyName" : "Seven Seas Imports", "City" : "London"}, {"CustomerID" : "WHITC", "CompanyName" : "White Clover Markets", "City" : "Seattle"} ]
The next example demonstrates creating an array of numeric values:
dim args as sql::Arguments dim ids as C ids =<<%txt% 2 3 5 6 %txt% argument_add_array_argument(args,"ids","N",ids) dim cn as sql::Connection ? cn.open("::Name::AADemo-Northwind") = .T. ? cn.execute("SELECT * FROM Products where ProductID IN (:ids)",args) = .T. ? cn.ResultSet.toJSON() = [ {"ProductID" : "2", "ProductName" : "Chang", "SupplierID" : "1", "CategoryID" : "1", "QuantityPerUnit" : "24 - 12 oz bottles", "UnitPrice" : "19", "UnitsInStock" : "17", "UnitsOnOrder" : "40", "ReorderLevel" : "25", "Discontinued" : "F"}, {"ProductID" : "3", "ProductName" : "Aniseed Syrup", "SupplierID" : "1", "CategoryID" : "2", "QuantityPerUnit" : "12 - 550 ml bottles", "UnitPrice" : "10", "UnitsInStock" : "13", "UnitsOnOrder" : "70", "ReorderLevel" : "25", "Discontinued" : "F"}, {"ProductID" : "5", "ProductName" : "Chef Anton's Gumbo Mix", "SupplierID" : "2", "CategoryID" : "2", "QuantityPerUnit" : "36 boxes", "UnitPrice" : "21.35", "UnitsInStock" : "0", "UnitsOnOrder" : "0", "ReorderLevel" : "0", "Discontinued" : "T"}, {"ProductID" : "6", "ProductName" : "Grandma's Boysenberry Spread", "SupplierID" : "3", "CategoryID" : "2", "QuantityPerUnit" : "12 - 8 oz jars", "UnitPrice" : "25", "UnitsInStock" : "120", "UnitsOnOrder" : "0", "ReorderLevel" : "25", "Discontinued" : "F"} ]
See Also