[NEW][C++] set of MACROS as GET_STRING( cursor, field_name)

Problem is that if you are a C++ developer and use VSDK for development,
then work with Values of Fields of cursor looks as:

I_Cursor_Ptr pCursor = db->SqlSelect( ... );
...
 String s = pCursor->get_Field("Name"  )->get_Value()->get_String();
 double d = pCursor->get_Field("Weight")->get_Value()->get_Double();
...

In contrast, for such languages as REALbasic or VB syntax is more short:

  String str = pCursor.StringField( "fldName" ).value

We have decide that for C++ developer we can have set of simple macros that will allow C++ developer syntax as:

  String str = GET_STRING( pCursor, "fldName" );

These macros are located in the:  sources/FBL/VShared/VSQL/publ/Interfaces/VSQL_I_Cursor.h

Note, that more complex values as DateTime, Binary, still should be used in old way, because VSDK do not know format you goingto use. May be you can add own macroses in your project that looks similar and do job you need.

[NEW][C++] Family of toValue_xxx() factories for simple SQL binding

Now C++ developer can write simpler code as

ArrayOfValues_Ptr pValues = new ArrayOfValues();
        pValues->AddItem( toValue_varchar(mName) );
        pValues->AddItem( toValue_double(70.5) );
        pValues->AddItem( toValue_long(size) );

Instead of:

ArrayOfValues_Ptr pValues = new ArrayOfValues();

       Value_varchar* pValueName = new Value_varchar();
       pValueName->put_String( mName.begin(), mName.end() );
       pValues->AddItem( pValueName );

       Value_double* pValueD = new Value_double();
       pValueD->put_Double( 70.5 );
       pValues->AddItem( pValueD );
       ...

VCLIENT now Caches ServerSide Cursors. Speed Increased a lots…

Valentina CLIENT library provides not only read-only client-side cursor as do e.g. mySQL or PostgreSQL, but server-side cursor also, which can be in NoLocks, ReadOnly and ReadWrite modes.

While client-side cursor loads all result records into client computer RAM at single step, a server-side cursor loads one record only. This allows to use server-side cursors for huge SELECT results. But … if to make on such cursor a GUI grid table to display records, speed of display was not best, because each time GUI asks for other record to draw, server-side cursor have jump to VServer to load it.

Now we have cache for VCLIENT server-side cursors.

  • Speed increased dramatically.
  • VServer gets less job to do.
  • Network traffic goes down

Continue reading VCLIENT now Caches ServerSide Cursors. Speed Increased a lots…

Valentina Reports get ODBC-datasource!

Valentina Reports now support ODBC datasource!

This is great, because now Valentina Reports can work with data stored practically in any database format (MS Access, MS SQL, Oracle, Postgre SQL, mySQL, … ) and even XML.

In Valentina Studio improved datasource dialog to support ODBC.

In a Valentina ADK code, you should specify connection string in the VProject.MakeNewReport( inDataSource ), as the following: odbc://dsn=access,user=name,pass=123

Will be available in the 4.9b5 build or newer.