Technical References - [SQL]

Performs a SQL statement on an ODBC data source.

[SQL Statement]Found Items[/SQL]

To search through an ODBC-compliant database (or add new records, or delete or replace records,) place a [SQL] context into a WebDNA template. You may specify any dsn (Data Source Name) that has been properly configured through the ODBC setup control panel on the web server computer.

The [SQL] context is not limited to searching -- you may perform any legal SQL statement, such as SELECT, INSERT, DROP, etc. The SQL language is too broad to describe here; it is assumed you have a working knowledge of SQL before using this context.

[SQL dsn=Pubs&statement=SELECT * from Authors]
Found [numfound] items
[au_lname], [au_fname], [title]

Whenever WebDNA encounters a [SQL] context, it uses ODBC to attempt to make a connection to the DSN you specify. It then executes the SQL statement and retrieves the results, if any. For SQL SELECT statements, you almost always put a [founditems]...[/founditems] context inside the [SQL] context so you can display the information from the matching records.

you can substitute any [xxx] tags in the SQL parameters, as in [SQL dsn=Pubs&statement=SELECT * from Authors where au_lname > '[]'].

UNIX users can get infomation on how to setup WebDNA with ODBC

dsnName of the database you wish to search.
usernameUsername required to access this ODBC database (Optional for Window platform, if none specified, "sa" is used).
passwordPassword required to access this ODBC database (Optional for Window platform, if none is specified, a blank password is used).
statementAny legal SQL statement.
maxA number indicating how many records should be displayed at once before showing a list of "Show Items xx-yy" hyperlinks.

The following tags are available inside a [SQL] context:
[NumFound]A number indicating how many records matched the search request. Some ODBC drivers do not support this feature, so WebDNA compensates by visiting every record in the database in order to count them. For large datasets, this can be very slow, and you should consider writing a SQL statement that performs a count instead. Do not put [NumFound] inside a SQL context that INSERTS new records, because the statement will be executed twice in order to perform the count. This will cause invalid a second record to be added to your database.
[founditems]...[/founditems]Normally you put a [founditems] loop inside a [SQL] context that has performed a SELECT statement, so you can display all the matching records. You can put any database field names inside the [founditems] loop to display them in HTML.


Top Articles:

WebDNA Libraries

A list of available libraries for WebDNA...

Download WebDNA Applications

WebDNA applications...


A compilation of some user's questions...

WebDNA reference

A list of all WebDNA instructions...

AWS Raw WebDNA LAMP-Plus WebServer

Amazon Web Services (AWS) README for Machine Image ID...

Tips and Tricks

A list of user-submitted tips ...

Related Readings:


The [xslt] Context allows the WebDNA programmer to 'apply' an XSL style sheet to an XML document and thus 'transform' the XML data into any format the programmer desires (usually HTML)...


Cookies are a great way to remember visitors...


WebDNA provides a few options for password protecting your pages...


Sends text to a DDE server program on the local machine...