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
As always, feedback is welcome.
Regards,
Ulrich
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.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.
Regards,Usage: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.csv USING csv(filename=FILENAME); SELECT * FROM csv;
Instead of specifying a file, the text of the CSV can be loaded using the data= parameter.Code: Select all
CREATE VIRTUAL TABLE temp.csv2 USING csv( filename = "../http.log", schema = "CREATE TABLE x(date,ipaddr,url,referrer,userAgent)" );
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.
utelle wrote: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.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.
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:Regards,Usage: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.csv USING csv(filename=FILENAME); SELECT * FROM csv;
Instead of specifying a file, the text of the CSV can be loaded using the data= parameter.Code: Select all
CREATE VIRTUAL TABLE temp.csv2 USING csv( filename = "../http.log", schema = "CREATE TABLE x(date,ipaddr,url,referrer,userAgent)" );
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.
Ulrich
The latter (changing "platform.h") should not be necessary.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".
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.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"".
Good to hear.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.
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 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" .
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.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".