IF ISNULL(vp_members_pk) .SELECTCMD = "SELECT * FROM MEMBERS WHERE 0=1" else .SELECTCMD = "SELECT * FROM MEMBERS WHERE MEMBERS_PK = ?VP_MEMBERS_PK" ENDIF>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.
>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 >>
>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 >>