Difference between revisions of "SQLPREPARE()"

From Lianjapedia
Jump to: navigation, search
Line 37: Line 37:
 
==Example==
 
==Example==
 
<code lang="recital">
 
<code lang="recital">
nStatHand=SQLCONNECT("awhr")
+
nStatHand=sqlconnect("awhr")
 
if nStatHand < 1
 
if nStatHand < 1
 
messagebox("Cannot make connection", 16, "SQL Connect Error")
 
messagebox("Cannot make connection", 16, "SQL Connect Error")
 
else
 
else
 
messagebox("Connection made", 48, "SQL Connect Message")
 
messagebox("Connection made", 48, "SQL Connect Message")
SQLEXEC(nStatHand,"create table doc1 (ACCOUNT_NO char(5), lastname char(25), balance dec(10,2))")
+
sqlexec(nStatHand,"create table doc1 (account_no char(5), lastname char(25), balance dec(10,2))")
 
messagebox("Table created")
 
messagebox("Table created")
 
m_accno =  "00699"
 
m_accno =  "00699"
 
m_lastname = "Smith"
 
m_lastname = "Smith"
 
m_balance = 12345.67
 
m_balance = 12345.67
SQLEXEC(nStatHand,"INSERT INTO dbo.doc1 (ACCOUNT_NO,lastname,balance) VALUES ('&m_accno','&m_lastname',&m_balance)")
+
sqlexec(nStatHand,"insert into dbo.doc1 (account_no,lastname,balance) VALUES ('&m_accno','&m_lastname',&m_balance)")
 
messagebox("Record inserted")
 
messagebox("Record inserted")
nRET=SQLEXEC(nStatHand,"SELECT * from dbo.doc1","mycursor")
+
nRet = sqlexec(nStatHand,"select * from dbo.doc1","mycursor")
if nRET = -1
+
if nRet = -1
 
messagebox(sqlerror(nstatHand))
 
messagebox(sqlerror(nstatHand))
 
else
 
else
Line 58: Line 58:
 
// Using prepared statement
 
// Using prepared statement
 
sqlprepare(nStatHand,"select * from dbo.doc1 where account_no = ?m_accno","mycursor")
 
sqlprepare(nStatHand,"select * from dbo.doc1 where account_no = ?m_accno","mycursor")
nRET=SQLEXEC(nStatHand)
+
nRet = sqlexec(nStatHand)
if nRET < 1
+
if nRet < 1
 
messagebox(sqlerror(nstatHand))
 
messagebox(sqlerror(nstatHand))
 
else
 
else
Line 65: Line 65:
 
list
 
list
 
endif
 
endif
SQLDISCONNECT(nStatHand)
+
sqldisconnect(nStatHand)
 
endif
 
endif
 
</code>
 
</code>

Revision as of 09:55, 7 January 2013

Purpose

Prepare an SQL statement that will be executed by the SQLEXEC() function

Syntax

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

See Also

SQLCANCEL(), SQLCOLUMNS(), SQLCOMMIT(), SQLCONNECT(), SQLDISCONNECT(), SQLERROR(), SQLEXEC(), SQLGETPROP(), SQLMORERESULTS(), SQLROLLBACK(), SQLSETPROP(), SQLSTRINGCONNECT(), SQLTABLES()

Description

The SQLPREPARE() function is used to prepare an SQL statement which will subsequently be executed by the SQLEXEC() function on the specified data source.

The SQLPREPARE() function operates on the data source specified by <nStatementHandle>.

Keywords Description
nStatementHandle The workarea in which the gateway data source is open.
cSQLCommand The SQL statement to be passed to the data source.
cCursorName The name of the cursor to use. If cCursorName is not specified, the default name SQLRESULT is used.

Return values:

Return Value Description
1 SQLPREPARE() successful
–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