# dbbindcol

## Purpose

Bind a database table's column to an NLP++ variable.

## Syntax

return_bool = dbbindcol(column_num, type_str, size_num, &var, &flag_var)

return_bool - True if successful, else false

column_num - Database column number

type_str - Database type for the given column. See table below

size_num - For some database types, indicates the required storage size for retrieving the data

&var - (call by reference). NLP++ variable to receive the fetched column value.

&flag_var - (call by reference). NLP++ variable to indicate whether the column had a value.

## Returns

True if successful.

## Remarks

The associated function dbfetch fetches a database table row, filling all the bound variables.

## Database Types and Conversion

The supported database types (those not in parentheses) and their conversion to NLP++ types are listed here:

DATABASE TYPE | NLP++ TYPE | SPECIFY SIZE?
BIGINT | NUM | no
BINARY | STR | yes
BIT | NUM | no
(BLOB) | --- | ---
CHAR | STR | yes
DATE | STR | no
DATETIME | STR | no
DECIMAL | FLOAT | no
DOUBLE | FLOAT | no
ENUM | STR | yes
FLOAT | FLOAT | no
INT | NUM | no
INTEGER | NUM | no
(LONGBLOB) | --- | ---
LONGVARBINARY | STR | yes
(MEDIUMBLOB) | --- | ---
MEDIUMINT | NUM | no
NUMERIC | FLOAT | no
REAL | FLOAT | no
SET | STR | yes
SMALLINT | NUM | no
TIME | STR | no
TIMESTAMP | STR | no
TINYBLOB | STR | yes
TINYINT | NUM | no
VARBINARY | STR | yes
VARCHAR | STR | yes
YEAR | STR | no

## Example

@CODE

dbopen("test","root","mypassword");

dballocstmt();

dbexecstmt("SELECT * FROM employee;");

dbbindcol(1,"varchar",50,&G("employee name"),&G("result1"));

while (dbfetch())

{

"output.txt" << "employee name: ";

if (G("result1"))

"output.txt" << G("employee name") << "\n";

else

"output.txt" << "NULL" << "\n";

}

dbfreestmt();

dbclose();

@@CODE

## See Also

Table of Database Functions

Database1 Analyzer