Skip to main content

Queries

Queries

Methods of the Intersys::PERLBIND::Query package provide the ability to prepare a query, set parameters, execute the query, and and fetch the results. A Query object is created by the Intersys::PERLBIND::Database alloc_query() method (see Database for a detailed description). See Using Queries for information on how to use the Query methods.

Here is a complete listing of Query methods:

prepare query

prepare()
$query->prepare($string, $sqlcode)

Prepares a query using the SQL string in $string.

prepare_class()
$query->prepare_class($class_name, $query_name, $sqlcode)

Prepares a query in a class definition

set parameters

set_par()
$query->set_par($idx, $val)

Assigns value $val to parameter $idx. The method can be called several times for the same parameter. The previous parameter value will be lost, and the new value can be of a different type. The set_par() method does not support by-reference parameters.

is_par_nullable()
$nullable = $query->is_par_nullable($idx)

Returns 1 if parameter $idx is nullable, else 0.

is_par_unbound()
$unbound = $query->is_par_unbound($idx)

Returns 1 if parameter $idx is unbound, else 0.

num_pars()
$num = $query->num_pars()

Returns number of parameters in query.

par_col_size()
$size = $query->par_col_size($idx)

Returns size of parameter column.

par_num_dec_digits()
$num = $query->par_num_dec_digits($idx)

Returns number of decimal digits in parameter.

par_sql_type()
$type = $query->par_sql_type($idx)

Returns sql type of parameter.

execute query

execute()
$query->execute($sqlcode)

Generates a result set using any parameters defined by calls to set_par().

fetch results

fetch()
@data_row = $query->fetch($sqlcode)
$column_count = scalar($query->fetch($sqlcode))

When run in a list context, the method retrieves a row of data from the result set and returns it as a list. When there is no more data to be fetched, it returns an empty list.

When run in a scalar context, the method returns the number of columns in a row.

col_name()
$name = $query->col_name($idx)

Returns name of column.

col_name_length()
$length = $query->col_name_length($idx)

Returns length of column name.

col_sql_type()
$sql_type = $query->col_sql_type($idx)

Returns sql type of column.

num_cols()
$num_cols = $query->num_cols()

Returns number of columns in query.

FeedbackOpens in a new tab