ANN: wxSQLite3 3.4.1 released

Do you like to promote your wxWidgets based application or component!? Post it here and let's see what the critics have to say. Also, if you found that ONE wx component the world needs to know about, put it here for future reference.
utelle
Moderator
Moderator
Posts: 727
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

ANN: wxSQLite3 3.4.1 released

Postby utelle » Wed Oct 19, 2016 9:59 pm

Version 3.4.1 of wxSQLite3 has been released. It supports version 3.15.0 of SQLite. This version is compatible with wxWidgets 2.8.12, wxWidgets 3.0.x, and wxWidgets 3.1.0.

What's new in this release:

  • Upgrade to SQLite version 3.15.0
  • Adjusted the SQLite3 encryption extension to be compatible with SQLite version 3.15.0
Note: The SQLite3 binaries for Windows can be found as separate downloads. Windows binaries are provided in 32-bit and 64-bit for AES-128 and AES-256 encryption.

As always, feedback is welcome.

Regards,

Ulrich

MagickPanda
Knows some wx things
Knows some wx things
Posts: 39
Joined: Wed Oct 19, 2016 1:41 pm

Re: ANN: wxSQLite3 3.4.1 released

Postby MagickPanda » Thu Oct 20, 2016 10:44 am

Great stuff. I might want to integrate it into my project some day. I wonder if there is a csv library or wrapper for wxWidgets. I am using a csv loader/writer from sourceforge.net, it would be great if there is a 'native' one designed specifically for wxWidgets. :D

utelle
Moderator
Moderator
Posts: 727
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: ANN: wxSQLite3 3.4.1 released

Postby utelle » Thu Oct 20, 2016 12:52 pm

MagickPanda wrote:Great stuff. I might want to integrate it into my project some day. I wonder if there is a csv library or wrapper for wxWidgets. I am using a csv loader/writer from sourceforge.net, it would be great if there is a 'native' one designed specifically for wxWidgets. :D

I'm currently not aware of a CSV library specifically written for wxWidgets. However, the SQLite3 shell includes the feature to import and export CSV data. That is, one option for you could be to convert your CSV data to a SQLite3 database and access the database from your wxWidgets application.

Additionally, since version wxSQLite3 3.4.0 the included SQLite3 version not only supports encryption, but also includes the CSV extension module, that allows to interpret CSV files as read-only database tables. The comments in the implementation of the CSV extension module describe how to use it:
Usage:

Code: Select all

CREATE VIRTUAL TABLE temp.csv USING csv(filename=FILENAME);
SELECT * FROM csv;

The columns are named "c1", "c2", "c3", ... by default. But the application can define its own CREATE TABLE statement as an additional parameter. For example:

Code: Select all

CREATE VIRTUAL TABLE temp.csv2 USING csv(
    filename = "../http.log",
    schema = "CREATE TABLE x(date,ipaddr,url,referrer,userAgent)"
);

Instead of specifying a file, the text of the CSV can be loaded using the data= parameter.

If the columns=N parameter is supplied, then the CSV file is assumed to have N columns. If the columns parameter is omitted, the CSV file is opened as soon as the virtual table is constructed and the first row of the CSV is read in order to count the tables.


Regards,

Ulrich

MagickPanda
Knows some wx things
Knows some wx things
Posts: 39
Joined: Wed Oct 19, 2016 1:41 pm

Re: ANN: wxSQLite3 3.4.1 released

Postby MagickPanda » Thu Oct 20, 2016 11:35 pm

Thanks for the info. WIll try it some day after I got my stupid assert bug fixed. =)

utelle wrote:
MagickPanda wrote:Great stuff. I might want to integrate it into my project some day. I wonder if there is a csv library or wrapper for wxWidgets. I am using a csv loader/writer from sourceforge.net, it would be great if there is a 'native' one designed specifically for wxWidgets. :D

I'm currently not aware of a CSV library specifically written for wxWidgets. However, the SQLite3 shell includes the feature to import and export CSV data. That is, one option for you could be to convert your CSV data to a SQLite3 database and access the database from your wxWidgets application.

Additionally, since version wxSQLite3 3.4.0 the included SQLite3 version not only supports encryption, but also includes the CSV extension module, that allows to interpret CSV files as read-only database tables. The comments in the implementation of the CSV extension module describe how to use it:
Usage:

Code: Select all

CREATE VIRTUAL TABLE temp.csv USING csv(filename=FILENAME);
SELECT * FROM csv;

The columns are named "c1", "c2", "c3", ... by default. But the application can define its own CREATE TABLE statement as an additional parameter. For example:

Code: Select all

CREATE VIRTUAL TABLE temp.csv2 USING csv(
    filename = "../http.log",
    schema = "CREATE TABLE x(date,ipaddr,url,referrer,userAgent)"
);

Instead of specifying a file, the text of the CSV can be loaded using the data= parameter.

If the columns=N parameter is supplied, then the CSV file is assumed to have N columns. If the columns parameter is omitted, the CSV file is opened as soon as the virtual table is constructed and the first row of the CSV is read in order to count the tables.


Regards,

Ulrich

bmguojing
In need of some credit
In need of some credit
Posts: 3
Joined: Wed Dec 14, 2016 6:06 am

Re: ANN: wxSQLite3 3.4.1 released--can not compile help

Postby bmguojing » Wed Dec 14, 2016 1:54 pm

I'm currently use vs 2015 to compile wxsqlite3 (compiled wxWidget-3.1.0 without any problems using Release x64 and Debug x64, and cope the include and lib file to C:\wxWidgets-3.1.0, the toturial'shttp://docs.wxwidgets.org/stable/overview_helloworld.html helloworld can compile and run sucessful).

I got the wxsqlite3 from "https://github.com/utelle/wxsqlite3/tree/v3.4.1", and the "WXWIN" = C:\wxWidgets-3.1.0 in user variables, and modify line136 of "platform.h" to #include "msvc/wx/setup.h".

Then, I use vs 2015 open the wxsqlite3\build31\wxsqlite3_vc14.sln(Add linker-->Additional Library Directories $(WXWIN)\lib\vc_x64_lib), and compile using Release win64, but the minimal and the treeview with error
"LINK: fatal error LINK1181: can't open the input file"wxbase31u.lib"".

I'm a beginner with wxWidget. I need help to step by step to complie wxsqlite-3.4.1.

utelle
Moderator
Moderator
Posts: 727
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: ANN: wxSQLite3 3.4.1 released--can not compile help

Postby utelle » Thu Dec 15, 2016 9:39 pm

bmguojing wrote:I got the wxsqlite3 from "https://github.com/utelle/wxsqlite3/tree/v3.4.1", and the "WXWIN" = C:\wxWidgets-3.1.0 in user variables, and modify line136 of "platform.h" to #include "msvc/wx/setup.h".

The latter (changing "platform.h") should not be necessary.

bmguojing wrote:Then, I use vs 2015 open the wxsqlite3\build31\wxsqlite3_vc14.sln(Add linker-->Additional Library Directories $(WXWIN)\lib\vc_x64_lib), and compile using Release win64, but the minimal and the treeview with error
"LINK: fatal error LINK1181: can't open the input file"wxbase31u.lib"".

On generating the MSVC build files I unfortunately missed the fact that the wxWidgets library path for x64 builds is different than that for Win32 builds. That is, for now you will have to adjust the library paths for x64 builds from "vc_lib" to "vc_x64_lib" (resp "vc_dll" to "vc_x64_dll") in all build files (*.vcxproj) you are using. Thereafter linking should work.

I'll try to fix this for the next release of wxSQLite3.

Regards,

Ulrich

bmguojing
In need of some credit
In need of some credit
Posts: 3
Joined: Wed Dec 14, 2016 6:06 am

Re: ANN: wxSQLite3 3.4.1 released

Postby bmguojing » Fri Dec 16, 2016 5:22 am

Thank you very much. Now wxsqlite3 can compile successful, and get the wxsqlite3.lib, wxsqlite3d.lib using Release/Debug x64 in vc140_lib.

I have a last question need your help, is there any lib named like "wxcode_msw31u_wxsqlite3.lib".If have this, can you give some tutorial about how to generate this lib. I find the project(HEVCAnalyzerhttps://github.com/XimingCheng/HEVCAnalyzer) need this in Linker's input, which named "wxcode_msw30u_wxsqlite3.lib" and "wxcode_msw30ud_wxsqlite3.lib" .

I rename "wxcode_msw30u_wxsqlite3.lib,wxcode_msw30ud_wxsqlite3.lib " to "wxsplie3.lib, wxsqlite3d.lib" in "HEVCAnalyzer.vcxproj" file, and when i build the project, there is error LNK2001: the sqlite3_libversion, splite3_sourceid... ... "Unresolved External Symbol".

utelle
Moderator
Moderator
Posts: 727
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: ANN: wxSQLite3 3.4.1 released

Postby utelle » Fri Dec 16, 2016 9:28 am

bmguojing wrote:Thank you very much. Now wxsqlite3 can compile successful, and get the wxsqlite3.lib, wxsqlite3d.lib using Release/Debug x64 in vc140_lib.

Good to hear.

bmguojing wrote:I have a last question need your help, is there any lib named like "wxcode_msw31u_wxsqlite3.lib".If have this, can you give some tutorial about how to generate this lib. I find the project(HEVCAnalyzerhttps://github.com/XimingCheng/HEVCAnalyzer) need this in Linker's input, which named "wxcode_msw30u_wxsqlite3.lib" and "wxcode_msw30ud_wxsqlite3.lib" .

I have to admit that the build system of wxSQLite3 is currently in a somewhat inconsistent state. For older compilers the build files were generated by bakefile, and in those files the wxcode prefix is used. For newer MSVC compilers (VC++ 2010 and later) the build files were generated by premake, and those files reference the library as wxsqlite3.lib or wxsqlite3d.lib.

bmguojing wrote:I rename "wxcode_msw30u_wxsqlite3.lib,wxcode_msw30ud_wxsqlite3.lib " to "wxsplie3.lib, wxsqlite3d.lib" in "HEVCAnalyzer.vcxproj" file, and when i build the project, there is error LNK2001: the sqlite3_libversion, splite3_sourceid... ... "Unresolved External Symbol".

Renaming the library references should solve the problem. Additionally, wxSQLite3 needs the SQLite library itself. It could be that the SQLite link library that is referenced in your project is outdated, or missing.

If you use the latest wxSQLite3 version compiled with VC++ 2010 or higher (using the build files coming with wxSQLite3), the SQLite library is build together with wxSQLite3 and linked statically (to avoid version conflicts). You may need to adjust the library search path in your project to locate the SQLite library.

Regards,

Ulrich

bmguojing
In need of some credit
In need of some credit
Posts: 3
Joined: Wed Dec 14, 2016 6:06 am

Re: ANN: wxSQLite3 3.4.1 released

Postby bmguojing » Fri Dec 16, 2016 11:18 am

Thank you very much. I put libsqlite3.lib and libsqlite3d.lib to file "\lib\vc_x64_lib"(with wxsqlite3.lib, wxsqlite3d.lib ),and Linker's input add the libsqlite3.lib and libsqlite3d.lib.

Now HEVCAnalyzer is compile successuful.

Thank you for your patience to answer my questions.


Return to “Announcements and Discoveries”

Who is online

Users browsing this forum: No registered users and 1 guest