Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Cursor Adapter SELECTCMD
Message
From
31/03/2006 10:50:56
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Cursor Adapter SELECTCMD
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01109509
Message ID:
01109509
Views:
59
I am having an issue with my Parameter in my SelectCmd of my cursor adapter. I want an empty cursor to be returned if I set the value of my parameter to .null. This works great for CHAR fields, however, integers, I am getting an error.

This works just the way I want it too.
RELEASE lomyca, loConnection, loCommand

PUBLIC lomyca       AS CURSORADAPTER
PUBLIC loConnection AS ADODB.CONNECTION
PUBLIC loCommand    AS ADODB.COMMAND

loConnection = CREATEOBJECT('ADODB.Connection')
loCommand    = CREATEOBJECT('ADODB.Command')

***<DataSource>
loConnection.ConnectionString = "***" 
***</DataSource>
loConnection.OPEN()

loCommand.ActiveConnection = loConnection

lomyca = CREATEOBJECT("cursoradapter")

vp_members_pk = .NULL.

WITH lomyca
   .CURSORSCHEMA ="MEMBERS_PK C(10), FIRSTNAME C(50), LASTNAME C(50)"
   .USECURSORSCHEMA = .T.
   .DATASOURCETYPE ="ADO"
   .DATASOURCE = CREATEOBJECT('ADODB.RecordSet')
   .DATASOURCE.CursorLocation   = 3  && adUseClient
   .DATASOURCE.LockType         = 3  && adLockOptimistic
   .DATASOURCE.ActiveConnection = loConnection
   .ALIAS = "Members"
   .SELECTCMD = "SELECT * FROM MEMBERS WHERE MEMBERS_PK = ?VP_MEMBERS_PK"

   lxRetVal = .CURSORFILL(.T.,.F.,-1,loCommand)

   IF NOT lxRetVal
      MESSAGEBOX(MESSAGE())
   ENDIF 
ENDWITH && myca

RETURN lxRetVal
The following code gives me an error message from the Microsoft OLE DB Provider for SQL Server: "Invalid Input Parameter Values. Check the status values for detail."
RELEASE lomyca, loConnection, loCommand

PUBLIC lomyca       AS CURSORADAPTER
PUBLIC loConnection AS ADODB.CONNECTION
PUBLIC loCommand    AS ADODB.COMMAND

loConnection = CREATEOBJECT('ADODB.Connection')
loCommand    = CREATEOBJECT('ADODB.Command')

***<DataSource>
loConnection.ConnectionString = "***"

***</DataSource>
loConnection.OPEN()

loCommand.ActiveConnection = loConnection

lomyca = CREATEOBJECT("cursoradapter")

vp_members_pk = .NULL.

WITH lomyca
   .CURSORSCHEMA ="MEMBERS_PK I, FIRSTNAME C(50), LASTNAME C(50)"
   .USECURSORSCHEMA = .T.
   .DATASOURCETYPE ="ADO"
   .DATASOURCE = CREATEOBJECT('ADODB.RecordSet')
   .DATASOURCE.CursorLocation   = 3  && adUseClient
   .DATASOURCE.LockType         = 3  && adLockOptimistic
   .DATASOURCE.ActiveConnection = loConnection
   .ALIAS = "Members"
   .SELECTCMD = "SELECT * FROM MEMBERS WHERE MEMBERS_PK = ?VP_MEMBERS_PK"

   lxRetVal = .CURSORFILL(.T.,.F.,-1,loCommand)

   IF NOT lxRetVal
      MESSAGEBOX(MESSAGE())
   ENDIF 
ENDWITH && myca

RETURN lxRetVal
Does anyone have any ideas?
Next
Reply
Map
View

Click here to load this message in the networking platform