Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can't retrieve MEMO data
Message
From
04/02/2018 06:35:50
 
 
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
01657782
Message ID:
01657784
Views:
52
Blast from the past - restore from, early attempt at NoSQL ;-))

IIRC the way the memvars/arrays are saved in the memo field has binary hints. Try to serialize, probably fastest way would be passing the cursor of your vfp code via clipboard. Safer of course anything toJSON, but probably slower. Marshalling the array might also work, but accessing each vfp array element from C# is chatty, not chunky across marshalling borders, so I'd try generating a single "item" on vfp side first and destructure that on .Net side. More code, less context switch





>Trying to retrieve an array stored in a VFP MEMO field using a VFP SP via VFPOLEDB.
>
>The SP looks like this:
PROCEDURE GetShortNutri
>LPARAMETERS theFile, theField, theRecno
>USE &theFile. ORDER Id
>=SEEK(theRecno)
>RESTORE FROM MEMO &theField.
>CREATE CURSOR result (Val1 N(5), Val2 N(5))
>APPEND FROM ARRAY pgndata 
>SETRESULTSET('result')
>RETURN RECCOUNT('result')
>ENDPROC
The C# code:
using (OleDbConnection conn = new OleDbConnection(this.ConnectionString))
>            {
>                DataSet ds = new DataSet();
>
>                string commandString = "GetShortNutri('" + this.TableName + "','" + this.FieldName + "'," + this.Record + ")";
>                conn.Open();
>                OleDbCommand command = new OleDbCommand(commandString, conn);
>                command.CommandType = CommandType.StoredProcedure;
>                var adapter = new OleDbDataAdapter(command);
>                adapter.Fill(ds);  //Exception: 'Feature not available'
>            }
>
>SP works in VFP. All parameters are correct in the C# code (TableName and FieldName are strings; Record is int) . But 'adapter.Fills(ds)' throws the commented exception. Any suggestions ?
>
>Oh, and I tried substituting ' (theField) ' instead of ' &theField ' etc. same thing....
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform