Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cursor Adapter SELECTCMD
Message
De
31/03/2006 10:50:56
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Cursor Adapter SELECTCMD
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Divers
Thread ID:
01109509
Message ID:
01109509
Vues:
60
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?
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform