Commit Graph

78 Commits

Author SHA1 Message Date
Julian Smart
5a8bec2332 Applied patch [ 649284 ] Fix wxODBC to work with MySQL 2.x
The current sample/db fails to build indexes with
MyODBC v2.50.39

This is due to two problems:

(1) wxDb::ModifyColumn() created a SQL statement that
was not correctly formed for MySQL. This problem
caused wxDbTable::CreateIndex() to fail to set the
columns that are going to indexes to be NOT NULL. I
fixed this by added a special case for MySQL.

(2) When creating an Index on a VARCHAR column,
MySQL requires a key length to be specified.
wxDbTable::CreateIndex() current does not do this. I
fixed this problem by adding code to do this.

The attached patch file patches dbtable.cpp and db.cpp
on the 2.5 branch.

gor Mikolic-Torreira


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@18145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:50:14 +00:00
Roger Gammans
a81052ed96 * Change wxDbLogExtendedErrorMsg() prototype to allow building
as a DLL on with mingw32


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@18035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-03 19:00:49 +00:00
Julian Smart
9f4de2dcf8 Applied patch [ 566816 ] adds xBase type for Sequiter's SQL/ODBC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-08-16 12:43:07 +00:00
Vadim Zeitlin
a327b52090 fixed compilation under Unix where SQL_DATETIME is not defined
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-25 15:11:24 +00:00
George Tasker
e25cdb868f Semi-Blind fixes for trying to handle different versions of MySQL and MySQL windows drivers
Hopefully better handling of DATE type fields
New parameter added to optionally not have database connections fail if a basic data type (like DATE) is not reported as supported by the datasource


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-22 13:43:15 +00:00
Vadim Zeitlin
903506828b fixes for the compilation warnings with Sun CC:
1. some fixes for "String literal to char * conversion" warnings (many
   more left in the *.xpm files)
2. fixes for "assignment of function to extern "C" function"
3. a few other miscellaneous ones


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-09 12:49:12 +00:00
George Tasker
5bdad317aa "char *" changed to "wxChar *" in several places
"Documentation needed" comments removed as the function(s) are now documented


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-23 00:42:10 +00:00
George Tasker
243d4b3603 Added code to handle SQLSERVER, ACCESS, and MSDE allowing spaces in table names and column names (ARRRRGH! -> MS)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-04 16:44:08 +00:00
David Webster
2e57a9efc5 true vs TRUE again.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-13 17:42:16 +00:00
George Tasker
e262868d43 ::Catalog() function was failing against several databases as the PRECISION and LENGTH values returned were larger (more bytes) than the variable that was bound for holding the returned value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-12 19:22:49 +00:00
Vadim Zeitlin
d1f5f7a44b wxBase compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-21 18:37:33 +00:00
George Tasker
dba2120c77 Fixed compile problems under MingW32 compiler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-12 17:20:10 +00:00
George Tasker
a144affed2 Changed the 'true's and 'false's back to TRUE and FALSE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-11 16:54:28 +00:00
George Tasker
2c257434c3 wxDbGrid additions
Changed all TRUE/FALSEs to true/false
Added wxDbLogExtendedErrorMsg() function to  retrieve human readable ODBC error information from the ODBC driver
General code cleanup


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-10 17:06:09 +00:00
George Tasker
081eb1b120 Removed TABs that had gotten in to the source
Added more INTERBASE support fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-05-23 13:46:59 +00:00
David Webster
5600884ab7 Visualage fixes for Stefan's socket implementations and true to TRUE in db.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-05-21 20:30:24 +00:00
George Tasker
5a226de062 dBase fix on creating index
General cleanup of code in the sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-05-15 01:00:56 +00:00
George Tasker
2beca66298 Added support more support for DB2
Added support for PervasiveSQL
Fixed MSAccess testing of DROP TABLE result when the table does not exist


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-05-11 20:31:24 +00:00
George Tasker
4a45223c97 Blob support fixes - still does not work, but getting there
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-04-16 14:03:09 +00:00
George Tasker
e938ff5e20 A couple more 'int' to UWORD conversions I had not merged into my previous checkin.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-04-11 14:37:48 +00:00
George Tasker
02cf6fdd85 Fixed TablePrivileges() function (I HOPE!) so it will work with all supported databases
All variables/parameters having to do with number of columns changed to be of type UWORD rather than int, avoiding compiler warnings and giant tables causing problems, and matching the types with the ODBC APIs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-04-11 14:11:02 +00:00
George Tasker
bf5423ea7d Beginnings of BLOB support - Do not use BLOBs yet though, as they do not work, but these changes will not affect behavor of anything unless you try to create a BLOB column 0 which will fail right now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-02-13 11:41:02 +00:00
George Tasker
da99271dcb ::Initialize() methods added to the helper classes
Changed wxT("") to wxEmptyString everywhere


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-02-05 13:36:33 +00:00
George Tasker
9556da13ba Cleanup of formatting of text
Added Initialize() functions to a couple of the helper classes
More code changed to reflect new class methods that are now available.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-02-04 15:58:39 +00:00
George Tasker
942e67c3a3 wxDbConnectInf is now converted to a class. Fully backward compatible with all version except the last checkin I did (changed datatypes back to what they were before for in this class). Class now has all accessors and member functions. Functions added to remove need for calling SQLAllocEnv() and SQLFreeEnv().
General gcc changes in the Printf() statement when using wxStrings as params to Printf()
General code clean up, correcting comments, added more comments


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-02-03 17:48:06 +00:00
George Tasker
4fdae9972d All char, char *, and char arrays changed to use wxChar or wxString. 99% backward compatability maintained
Cleaned up code to remove duplicate blocks from multiple functions
Added better handling of failed creation of wxDbTable/wxDb objects
Moved code out of class constructors to a private function called from within the constructor
Moved destructor code to a cleanup() function so it could be called from within the constructor if the constructor failed.
Added wxDb::ModifyColumn() function.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-02-01 20:21:52 +00:00
George Tasker
ebf776c5b8 Fixed problem in wxDbColFor::Format() for mySQL (patch submittted directly to me from Mark Johnson) to handle SQL_C_TIMESTAMP fields, which is what mySQL uses for DATE fields.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-01-14 12:46:33 +00:00
David Webster
eedb15434a VA needs FALSE not false
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-11-29 05:17:43 +00:00
George Tasker
eb3b9ddac4 Increased the max length of allowed WHERE clauses and full statements (eventually needs to be changed over to use wxString).
Fixed the order of params in TablePrivileges()
Changed 0s to NULLs in params


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-11-24 16:46:11 +00:00
George Tasker
d8a0a1c930 Fixed problems with the wxDb::Open(wxDb *copyDb) not copying in all the different data types required values
Added Interbase database support based on contributions from Roger Gammans
Enabled the wxDb::TablePrivileges() function for v2.3/2.4
Fixed a bunch of problems with wxDb::TablePrivileges() not working correctly with all databases.
Added the ability to pass in a SCHEMA to wxDbTablePrivileges() that greatly improves the speed of the privileges lookup.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-11-22 00:19:25 +00:00
George Tasker
a8aa2258e8 Added preliminary DB2 support.
Removed the #if EXPERIMENTAL_WXDB_FUNCTIONS blocks from around functions that will now be available in 2.4
Changed functions to return const char * rather than char * on certain functions
Added the wxDb::TablePrivileges() function
Added wxDb copy constructors and wxDbGetConnection() copy constructors which are able to copy the typing definitions of data types retrieved from the source wxDb instance to the new data connection instance to avoid the network/database overhead of querying the datasource for its data types once they are already known once.
SQL Server and (preliminary) DB2 support added
If compiling with Visual C++, the wxDbCreateDataSource() can now be enabled


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-11-20 17:23:06 +00:00
Mark Johnson
0cd121f9e1 db.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-08-12 11:14:40 +00:00
Bryan Petty
3ca6a5f046 second merge of the 2.2 branch (RL)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-08-08 06:11:51 +00:00
Bryan Petty
f6bcfd974e merged 2.2 branch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-07-15 19:51:35 +00:00
Julian Smart
fbdcff4a78 Misc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-05-05 16:40:32 +00:00
Julian Smart
d50af7148c Corrected my correction.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-03-18 14:12:11 +00:00
Julian Smart
2c68bdb64e Moved position of WXDLLEXPORT keyword
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-03-18 13:24:58 +00:00
George Tasker
fdc0367851 Cleaned up the API for class/structure/function names to follow the wxWindows conventions (mostly prefixing wx to all of them). Backward compatability is maintained by keeping the old names calling the new functions, or typedef-ing the old names to the new names. The old names can be totally disabled at the end of the file by changing the #if 1 block that surrounds the old names
Added a wxDbCreateDataSource() function, though it only works under MSW using VC6, because the API is not available with iODBC.  To use this, it requires linking in odbccp32.lib and #including odbcinst.h in db.h.  This function is disabled with #if 0 for now.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-03-16 19:00:24 +00:00
George Tasker
bebb64f0e2 Fixed a misleading comment regarding MySQL and Postgres
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-29 11:27:43 +00:00
Robert Roebling
0efe4a9855 Compile fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-26 12:45:06 +00:00
George Tasker
52a17fe534 Replaced <iostream.h> reference with "wx/ioswrap.h"
Replaced wxMessageBox() with wxLogDebug() calls
When calling GetColumns(), some drivers/datasources would not return a proper value for columnSize.  If columnSize is less than 1, columnSize gets set to bufferLength


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-25 20:27:37 +00:00
George Tasker
ea5d599df3 Reverting back to 1.35 as 1.36 does not work with all data sources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-24 00:35:28 +00:00
George Tasker
2f74ed2859 ::IsNumber() returned FALSE if a + or - sign was the first character of the string. "-123" should be considered a number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-23 23:11:53 +00:00
Vadim Zeitlin
23f681ec48 1. implemented wxRegKey::Copy() and CopyValue()
2. regtest sample doesn't crash any more
3. wxLogGui uses msg box for only 1 message
4. "const wxEventType" => "enum"
5. wxEVT_COMMAND_TREE_END_DRAG introduced - see sample for example
6. fixed several non fatal bugs in wxRegKey
7. many changes in regtest sample, not tested yet


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-15 00:05:36 +00:00
Bart A.M. Jourquin
9453a61bd8 add SQL_CATALOG and SQL_LOG filename variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-08 11:06:07 +00:00
George Tasker
1e92909e9a Replaced tabs and cleaned up indentations.
Replaced all the char arrays I could with wxStrings.  Should noticably reduce memory used by classes.
Fixed "for (int i=0...)" occurances


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-31 15:44:54 +00:00
Bart A.M. Jourquin
c56dadd8ed IODBC fix in GetDataSource
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-27 13:10:54 +00:00
George Tasker
579d7d1316 Fixed the GetDataSource() function so the DsDesc that is returned is the full description
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-27 11:44:09 +00:00
Vadim Zeitlin
f1df09276c 1. wxWizard supports setting images for each page, sample updated to show it
2. wxLogGui now uses a special dialog instead of a wxMsgBox
3. wxComboBox doesn't limit the text to its size under MSW
4. removed windows.h from dummy.cpp because I think it's unneeded


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-21 02:26:25 +00:00
George Tasker
67e9aaa3c9 Uses src/iodbc headers rather than windows headers to hopefully standardize across all platforms, and relieve dependency on <windows.h>
Now allows reading of unknown data table structures to create wxTable instances without knowing the data dictionary ahead of time (see wxColInf() class and use)
Ability to determine keys/foreign keys and read in those key definitions (see wxColFor() and wxDB::GetKeyFields() contributed by Mark Johnson)
More support for mySQL, now handles columns with "non-standard" types (contributed by Bart Jourquin)
SQLUnbind() was being called in some places which release ALL tables bound to the wxDB connection, not just the desired one
To fix the SQLUnbind() problem, now temporary datasource connections use GetData() rather than binding columns to variables (see wxDB::Catalog())
wxDB::Catalog() now handles databases that support, and do not support passing a UserID to limit the scope of the catalog
wxDB:TableExists() now handles databases that support, and do not support passing a UserID to limit the scope of existence check
"const char *" now used in the appropriate places rather than "char *"
GetDataSource() was not terminating the returned data source names with a '\0'
wxTable::Open() now more gracefully handles tables not existing but trying to be opened with more detailed error messages
wxTable::CreateTable() now handles return of SQL_SUCCESS_WITH_INFO as success (needed for some databases)
Fixes to accomodate 64bit archtecture handling of some data types (may not be totally ready for 64bit, but closer now).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-20 14:00:47 +00:00