SQLEXEC()

From Lianjapedia
Jump to: navigation, search

Purpose

Send an SQL statement to an ODBC data source

Syntax

SQLEXEC(<nStatementHandle> [, <cSQLCommand> [, <cCursorName>]])

See Also

SQLCANCEL(), SQLCOLUMNS(), SQLCOMMIT(), SQLCONNECT(), SQLDISCONNECT(), SQLERROR(), SQLGETPROP(), SQLMORERESULTS(), SQLPARAMS(), SQLPREPARE(), SQLROLLBACK(), SQLSETPROP(), SQLSTRINGCONNECT(), SQLTABLES(), SQLTRANSACTION()

Description

The SQLEXEC() function is used to send an SQL statement to the specified data source.

The SQLEXEC() function operates on the ODBC connection specified by <nStatementHandle>. The SQLERROR() function can be used to return the error message if the SQL statement fails.

Keywords Description
nStatementHandle Statement handle to the connection
cSQLCommand The SQL statement to be passed to the data source. The cSQLCommand can be omitted if the SQL statement has already been set up using SQLPREPARE().
cCursorName The name of the temporary table to use. If cCursorName is not specified, the default name SQLRESULT is used. If the SQLEXEC() is running a pre-prepared statement, the cCursorName is taken from the SQLPREPARE() setting.

Return values:

Return Value Description
<n> Number of results sets if more than 1
0 SQLEXEC() is still executing
1 SQLEXEC() finished executing
-1 Connection error

Example

nStatHand = sqlconnect("awhr")
if nStatHand < 1
	messagebox("Cannot make connection", 16, "SQL Connect Error")
else
	messagebox("Connection made", 48, "SQL Connect Message")
	sqlexec(nStatHand,"create table doc1 (account_no char(5), lastname char(25), balance dec(10,2))")
	messagebox("Table created")
	m_accno =  "00699"
	m_lastname = "Smith"
	m_balance = 12345.67
	sqlexec(nStatHand,"insert into dbo.doc1 (account_no,lastname,balance) VALUES ('&m_accno','&m_lastname',&m_balance)")
	messagebox("Record inserted")
	nRet = sqlexec(nStatHand,"select * from dbo.doc1","mycursor")
	if nRet = -1
		messagebox(sqlerror(nstatHand))
	else
		messagebox("Record selected")
		list
	endif
	// Using prepared statement
	sqlprepare(nStatHand,"select * from dbo.doc1 where account_no = ?m_accno","mycursor")
	nRet = sqlexec(nStatHand)
	if nRet < 1
		messagebox(sqlerror(nstatHand))
	else
		messagebox("Record selected using prepared statement")
		list
	endif
	sqldisconnect(nStatHand)
endif